diff mbox series

[OpenWrt-Devel] verbose.mk: quote SUBMAKE options

Message ID 20180706100340.6619-1-uxgood.org@gmail.com
State Accepted
Headers show
Series [OpenWrt-Devel] verbose.mk: quote SUBMAKE options | expand

Commit Message

李国 July 6, 2018, 10:03 a.m. UTC
build openwrt on centos 6 I should use devtoolset-3 to get gcc 4.9, but
it fail when make menuconfig. so I have to give option HOSTCC='gcc
-Wl,--copy-dt-needed-entries' to make. But it passed to sub make to
HOSTCC=gcc as micro SUBMAKE expand to HOSTCC=gcc
-Wl,--copy-dt-needed-entries. This patch fix this issue.

make -C build menuconfig HOSTCC='gcc -Wl,--copy-dt-needed-entries' V='1'
make: Entering directory `/work/openwrt/openwrt/build'
/opt/rh/devtoolset-3/root/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/ld:
lxdialog/checklist.o: undefined reference to symbol 'acs_map'
//lib64/libtinfo.so.5: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[1]: *** [mconf] Error 1
make -s -C scripts/config all CC=gcc -Wl,--copy-dt-needed-entries: build
failed. Please re-run make with -j1 V=s to see what's going on
make: *** [scripts/config/mconf] Error 1
make: Leaving directory `/work/openwrt/openwrt/build'

Signed-off-by: 李国 <uxgood.org@gmail.com>
---
 include/verbose.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lucian Cristian July 6, 2018, 11:09 a.m. UTC | #1
On 06.07.2018 13:03, 李国 wrote:
> build openwrt on centos 6 I should use devtoolset-3 to get gcc 4.9, but
> it fail when make menuconfig. so I have to give option HOSTCC='gcc
> -Wl,--copy-dt-needed-entries' to make. But it passed to sub make to
> HOSTCC=gcc as micro SUBMAKE expand to HOSTCC=gcc
> -Wl,--copy-dt-needed-entries. This patch fix this issue.
>
> make -C build menuconfig HOSTCC='gcc -Wl,--copy-dt-needed-entries' V='1'
> make: Entering directory `/work/openwrt/openwrt/build'
> /opt/rh/devtoolset-3/root/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/ld:
> lxdialog/checklist.o: undefined reference to symbol 'acs_map'
> //lib64/libtinfo.so.5: error adding symbols: DSO missing from command line
> collect2: error: ld returned 1 exit status
> make[1]: *** [mconf] Error 1
> make -s -C scripts/config all CC=gcc -Wl,--copy-dt-needed-entries: build
> failed. Please re-run make with -j1 V=s to see what's going on
> make: *** [scripts/config/mconf] Error 1
> make: Leaving directory `/work/openwrt/openwrt/build'
>
> Signed-off-by: 李国 <uxgood.org@gmail.com>
> ---
>   include/verbose.mk | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/verbose.mk b/include/verbose.mk
> index b7e43f7430..e02aefe8dd 100644
> --- a/include/verbose.mk
> +++ b/include/verbose.mk
> @@ -54,7 +54,7 @@ ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
>     else
>       SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1)
>       export QUIET:=1
> -    SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s to see what's going on"; false; } } 8>&1 9>&2; cmd
> +    SUBMAKE=cmd() { $(SILENT) $(MAKE) -s "$$@" < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s to see what's going on"; false; } } 8>&1 9>&2; cmd
>     endif
>   
>     .SILENT: $(MAKECMDGOALS)

I've just successfully ran make menuconfig on centos 6 with devtoolset-3

$ rpm -qa | grep devtoolset

devtoolset-3-runtime-3.1-12.el6.x86_64
devtoolset-3-libstdc++-devel-4.9.2-6.2.el6.x86_64
devtoolset-3-gcc-4.9.2-6.2.el6.x86_64
devtoolset-3-binutils-2.24-18.el6.x86_64
devtoolset-3-gcc-c++-4.9.2-6.2.el6.x86_64

$ scl enable devtoolset-3 bash
$ make menuconfig


*** End of the configuration.
*** Execute 'make' to start the build or try 'make help'.

Regards
Lucian Cristian July 6, 2018, 11:11 a.m. UTC | #2
On 06.07.2018 14:09, Lucian Cristian wrote:
> On 06.07.2018 13:03, 李国 wrote:
>> build openwrt on centos 6 I should use devtoolset-3 to get gcc 4.9, but
>> it fail when make menuconfig. so I have to give option HOSTCC='gcc
>> -Wl,--copy-dt-needed-entries' to make. But it passed to sub make to
>> HOSTCC=gcc as micro SUBMAKE expand to HOSTCC=gcc
>> -Wl,--copy-dt-needed-entries. This patch fix this issue.
>>
>> make -C build menuconfig HOSTCC='gcc -Wl,--copy-dt-needed-entries' V='1'
>> make: Entering directory `/work/openwrt/openwrt/build'
>> /opt/rh/devtoolset-3/root/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/ld:
>> lxdialog/checklist.o: undefined reference to symbol 'acs_map'
>> //lib64/libtinfo.so.5: error adding symbols: DSO missing from command 
>> line
>> collect2: error: ld returned 1 exit status
>> make[1]: *** [mconf] Error 1
>> make -s -C scripts/config all CC=gcc -Wl,--copy-dt-needed-entries: build
>> failed. Please re-run make with -j1 V=s to see what's going on
>> make: *** [scripts/config/mconf] Error 1
>> make: Leaving directory `/work/openwrt/openwrt/build'
>>
>> Signed-off-by: 李国 <uxgood.org@gmail.com>
>> ---
>>   include/verbose.mk | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/verbose.mk b/include/verbose.mk
>> index b7e43f7430..e02aefe8dd 100644
>> --- a/include/verbose.mk
>> +++ b/include/verbose.mk
>> @@ -54,7 +54,7 @@ ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
>>     else
>>       SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1)
>>       export QUIET:=1
>> -    SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo 
>> "make $$*: build failed. Please re-run make with -j1 V=s to see 
>> what's going on"; false; } } 8>&1 9>&2; cmd
>> +    SUBMAKE=cmd() { $(SILENT) $(MAKE) -s "$$@" < /dev/null || { echo 
>> "make $$*: build failed. Please re-run make with -j1 V=s to see 
>> what's going on"; false; } } 8>&1 9>&2; cmd
>>     endif
>>       .SILENT: $(MAKECMDGOALS)
>
> I've just successfully ran make menuconfig on centos 6 with devtoolset-3
>
> $ rpm -qa | grep devtoolset
>
> devtoolset-3-runtime-3.1-12.el6.x86_64
> devtoolset-3-libstdc++-devel-4.9.2-6.2.el6.x86_64
> devtoolset-3-gcc-4.9.2-6.2.el6.x86_64
> devtoolset-3-binutils-2.24-18.el6.x86_64
> devtoolset-3-gcc-c++-4.9.2-6.2.el6.x86_64
>
> $ scl enable devtoolset-3 bash
> $ make menuconfig
>
>
> *** End of the configuration.
> *** Execute 'make' to start the build or try 'make help'.
>
> Regards
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

I meant to say I've successfully built a target on centos 6 with 
devtoolset-3

Regards
Karl Palsson July 6, 2018, 12:30 p.m. UTC | #3
Lucian Cristian <luci@powerneth.ro> wrote:
> On 06.07.2018 14:09, Lucian Cristian wrote:
> > On 06.07.2018 13:03, 李国 wrote:
> >> build openwrt on centos 6 I should use devtoolset-3 to get gcc 4.9, but
> >> it fail when make menuconfig. so I have to give option HOSTCC='gcc
> >> -Wl,--copy-dt-needed-entries' to make. But it passed to sub make to
> >> HOSTCC=gcc as micro SUBMAKE expand to HOSTCC=gcc
> >> -Wl,--copy-dt-needed-entries. This patch fix this issue.
> >>
> >> make -C build menuconfig HOSTCC='gcc -Wl,--copy-dt-needed-entries' V='1'
> >> make: Entering directory `/work/openwrt/openwrt/build'
> >> /opt/rh/devtoolset-3/root/usr/libexec/gcc/x86_64-redhat-linux/4.9.2/ld:
> >> lxdialog/checklist.o: undefined reference to symbol 'acs_map'
> >> //lib64/libtinfo.so.5: error adding symbols: DSO missing from command 
> >> line
> >> collect2: error: ld returned 1 exit status
> >> make[1]: *** [mconf] Error 1
> >> make -s -C scripts/config all CC=gcc -Wl,--copy-dt-needed-entries: build
> >> failed. Please re-run make with -j1 V=s to see what's going on
> >> make: *** [scripts/config/mconf] Error 1
> >> make: Leaving directory `/work/openwrt/openwrt/build'
> >>
> >> Signed-off-by: 李国 <uxgood.org@gmail.com>
> >> ---
> >>   include/verbose.mk | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/include/verbose.mk b/include/verbose.mk
> >> index b7e43f7430..e02aefe8dd 100644
> >> --- a/include/verbose.mk
> >> +++ b/include/verbose.mk
> >> @@ -54,7 +54,7 @@ ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
> >>     else
> >>       SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1)
> >>       export QUIET:=1
> >> -    SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo 
> >> "make $$*: build failed. Please re-run make with -j1 V=s to see 
> >> what's going on"; false; } } 8>&1 9>&2; cmd
> >> +    SUBMAKE=cmd() { $(SILENT) $(MAKE) -s "$$@" < /dev/null || { echo 
> >> "make $$*: build failed. Please re-run make with -j1 V=s to see 
> >> what's going on"; false; } } 8>&1 9>&2; cmd
> >>     endif
> >>       .SILENT: $(MAKECMDGOALS)
> >
> > I've just successfully ran make menuconfig on centos 6 with devtoolset-3
> >
> > $ rpm -qa | grep devtoolset
> >
> > devtoolset-3-runtime-3.1-12.el6.x86_64
> > devtoolset-3-libstdc++-devel-4.9.2-6.2.el6.x86_64
> > devtoolset-3-gcc-4.9.2-6.2.el6.x86_64
> > devtoolset-3-binutils-2.24-18.el6.x86_64
> > devtoolset-3-gcc-c++-4.9.2-6.2.el6.x86_64
> >
> > $ scl enable devtoolset-3 bash
> > $ make menuconfig
> >
> >
> > *** End of the configuration.
> > *** Execute 'make' to start the build or try 'make help'.
> >
> 
> I meant to say I've successfully built a target on centos 6
> with devtoolset-3
> 

Right, but it doesn't make the patch wrong at all.
diff mbox series

Patch

diff --git a/include/verbose.mk b/include/verbose.mk
index b7e43f7430..e02aefe8dd 100644
--- a/include/verbose.mk
+++ b/include/verbose.mk
@@ -54,7 +54,7 @@  ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
   else
     SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1)
     export QUIET:=1
-    SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s to see what's going on"; false; } } 8>&1 9>&2; cmd
+    SUBMAKE=cmd() { $(SILENT) $(MAKE) -s "$$@" < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s to see what's going on"; false; } } 8>&1 9>&2; cmd
   endif
 
   .SILENT: $(MAKECMDGOALS)