Message ID | 20180706100340.6619-1-uxgood.org@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [OpenWrt-Devel] verbose.mk: quote SUBMAKE options | expand |
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
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
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 --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)
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(-)