Re: make menuconfig deps
On 07/22/2016 01:29 PM, David Henderson wrote: > Hmmm, I'll have to try that next time to see if it works for me. I'm > using glibc at the moment since that is what TinyCoreLinux uses (and > our fork of that OS - XiniX), but long term I have plans to move to > musl (which is why I asked Rob Landley how his projects were coming). > That's just more work than I can do at the moment with all the other > odds and ends of forking. Since it might be of interest to Denys too (since he uses http://landley.net/aboriginal toolchains to do the prebuilt busybox binaries): My old last gplv2 release of everything toolchain broke 4 times in the 4.4 and 4.5 kernels (arm, mips, sh4, and powerpc all broke in different ways), so the project's been on hold at the 4.3 kernel for a few months now. To replace the internal toolchain in aboriginal Linux I'm looking at moving to clang+llvm (which is in decent shape) and lld.llvm.org (which isn't). So that's still a ways off. In the meantime, I'm using Rich Felker's https://github.com/richfelker/musl-cross-make which uses current gcc/binutils versions to build musl compilers, and can finally build _native_ compilers (which is something none of the other toolchain build projects ever bothered to do). I'm fiddling with the Aboriginal Linux build so I can use musl-cross-make to replace the simple-cross-compiler and native-compiler stages, and should write up instructions how to do that in the next weekend or two. This means I'm leaving uClibc behind, but given it hasn't had a release in over 4 years, that's probably for the best. (I'm aware of uclibc-ng but consider it too little too late.) It also means I won't be distributing toolchain binaries (I don't do GPLv3 unless there's a large corporate entity's legal department standing between me and Bradley/Stallman). But if Rich wants to host them somewhere in a compatible format I'll happily point to those, and walk him through the squashfs packaging for the native compilers if he's interested. So I _should_ still be able to provide native development environments you don't have to compile yourself if you don't want to. :) And it means the sparc and m68k targets aren't supported until somebody ports musl-libc to them. But I should be able to add armv7 and arm64 and ppc64 and microblaze and get mips64 working again and maybe look into this "or1k" thing? Otherwise, I'm still working my way through http://lists.landley.net/pipermail/toybox-landley.net/2016-June/008484.html and replacing all the busybox commands used by http://lists.j-core.org/pipermail/j-core/2016-May/000171.html with toybox ones, and grinding away at http://landley.net/toybox/roadmap.html towards 1.0. Plus the http://j-core.org stuff. You know, the usual. Rob ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
lol it does seem to work just fine though. I made a wrapper script so I didn't have to remember it. :) Dave On 7/22/16, ..mg..wrote: > > On Thu, Jul 21, 2016 at 09:40:21PM +0200, Laurent Bercot wrote: >> >> make menuconfig \ >> HOST_EXTRACFLAGS='-I/opt/ncurses/include -DKBUILD_NO_NLS >> -DCURSES_LOC=""' \ >> HOST_LOADLIBES='-L/opt/ncurses/lib -static -lncurses' >> >> Yes, that's HOST_LOADLIBES with an 'E'. > > > Ah! That's obnoxiously obscure, but probably better than my trick of > putting loader flags in CC. > > -mg > >> >> -- >> Laurent >> >> ___ >> busybox mailing list >> busybox@busybox.net >> http://lists.busybox.net/mailman/listinfo/busybox > ___ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
Hey Stephen! The version of gcc I'm using is actually 5.2.0 and I don't think the OS is configured incorrectly, that's just how TC was designed to run. Instead of installing packages in a traditional means like Debian, TC uses squashfs files and symlinks its contents to the /usr/local/ area of the system. I haven't had any issues with compiling other software, just the BB source. Thanks for the info though! Dave On 7/22/16, Stephen Beckwithwrote: > I ran into a similar issue with menuconfig not finding ncurses library as > well. After talking with IT folks, we used HOSTCC='gcc -Wl, -llibtinfo' to > get it to work - initially - the menu was "horrible". . . . > After some debugging of other problems, I discovered that there were 2 > different compilers available on our systems: > path1: GCC 4.2.1 - which had the problems > path2: GCC 4.4.7 - which solved this and other problems. > So it might be that the linux distro being used is not quite setup > correctly Or it's a very old compiler? > My situation is that the IT folks have tried to turn a Linux distro > (RHEL6.4) into a BSD Variant-looking-messed-up-sort-of-thing. . . . > NEVER had an issue running on FedoraCore22 in a VM on my MAC :) > > Regards, > Stephen > > On Fri, Jul 22, 2016 at 12:48 PM, ..mg.. wrote: > >> >> On Thu, Jul 21, 2016 at 09:40:21PM +0200, Laurent Bercot wrote: >> > >> > make menuconfig \ >> > HOST_EXTRACFLAGS='-I/opt/ncurses/include -DKBUILD_NO_NLS >> -DCURSES_LOC=""' \ >> > HOST_LOADLIBES='-L/opt/ncurses/lib -static -lncurses' >> > >> > Yes, that's HOST_LOADLIBES with an 'E'. >> >> >> Ah! That's obnoxiously obscure, but probably better than my trick of >> putting loader flags in CC. >> >> -mg >> >> > >> > -- >> > Laurent >> > >> > ___ >> > busybox mailing list >> > busybox@busybox.net >> > http://lists.busybox.net/mailman/listinfo/busybox >> ___ >> busybox mailing list >> busybox@busybox.net >> http://lists.busybox.net/mailman/listinfo/busybox >> > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
Hmmm, I'll have to try that next time to see if it works for me. I'm using glibc at the moment since that is what TinyCoreLinux uses (and our fork of that OS - XiniX), but long term I have plans to move to musl (which is why I asked Rob Landley how his projects were coming). That's just more work than I can do at the moment with all the other odds and ends of forking. Thanks, Dave On 7/22/16, ..mg..wrote: > > On Fri, Jul 22, 2016 at 11:11:23AM -0400, David Henderson wrote: >> Thanks for the tip MG, but unfortunately this did not work... >> >> Dave > > Sorry, I'm getting confused with my library-finding tricks. > LD_LIBRARY_PATH is for runtime. This trick works for me (tested) > with ncurses in a non-standard location: > > $ make menuconfig HOSTCC="gcc -L/usr/local/lib -lncurses" > > But long-term, you might want to teach your compiler about libraries > in /usr/local/lib. I'm using musl, so I use /etc/ld-musl-i386.path, > glibc is I think /etc/ld.so.conf. > > HTH, > > -mg > > > >> >> >> On 7/21/16, ..mg.. wrote: >> > On Thu, Jul 21, 2016 at 11:41:10AM -0400, David Henderson wrote: >> > >> >> lrwxrwxrwx1 root root47 Jul 21 08:59 >> >> /usr/local/lib/libncurses.so -> >> >> /tmp/tcloop/ncurses/usr/local/lib/libncurses.so >> > >> > >> >> >> >> I don't see a libcurses.so file, but you may have meant libncurses.so >> >> which is present. Let me know! >> >> >> > >> > That should do. I'm noticing that it's in /usr/local/lib, which >> > might not be in your search path. Does this work? >> > >> > $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH >> > $ make menuconfig >> > >> > -mg >> > >> >> Thanks, >> >> Dave >> >> >> >> >> >> On 7/21/16, ..mg.. wrote: >> >> > On Thu, Jul 21, 2016 at 09:07:09AM -0400, David Henderson wrote: >> >> >> No problem, here's the entire output: >> >> > >> >> > [snip...] >> >> >> HOSTCC scripts/kconfig/zconf.tab.o >> >> >> In file included from scripts/kconfig/zconf.tab.c:152:0: >> >> >> scripts/kconfig/zconf.hash.c:155:43: warning: >> >> >> 'kconf_id_strings_contents' is static but used in inline function >> >> >> 'kconf_id_lookup' which is not static >> >> >> #define kconf_id_strings ((const char *) >> >> >> _id_strings_contents) >> >> >>^ >> >> >> scripts/kconfig/zconf.hash.c:222:44: note: in expansion of macro >> >> >> 'kconf_id_strings' >> >> >>register const char *s = o + kconf_id_strings; >> >> >> ^ >> >> >> scripts/kconfig/zconf.hash.c:215:26: warning: 'kconf_id_hash' is >> >> >> static but used in inline function 'kconf_id_lookup' which is not >> >> >> static >> >> >>register int key = kconf_id_hash (str, len); >> >> >> ^ >> >> >> scripts/kconfig/zconf.hash.c:171:26: warning: 'wordlist' is static >> >> >> but >> >> >> declared in inline function 'kconf_id_lookup' which is not static >> >> >>static struct kconf_id wordlist[] = >> >> > >> >> > >> >> > These are just warnings, you should be able to ignore them. >> >> > >> >> >> HOSTLD scripts/kconfig/mconf >> >> >> HOSTCC scripts/kconfig/lxdialog/checklist.o >> >> >> HOSTCC scripts/kconfig/lxdialog/inputbox.o >> >> >> HOSTCC scripts/kconfig/lxdialog/lxdialog.o >> >> >> HOSTCC scripts/kconfig/lxdialog/menubox.o >> >> >> HOSTCC scripts/kconfig/lxdialog/msgbox.o >> >> >> HOSTCC scripts/kconfig/lxdialog/textbox.o >> >> >> HOSTCC scripts/kconfig/lxdialog/util.o >> >> >> HOSTCC scripts/kconfig/lxdialog/yesno.o >> >> >> HOSTLD scripts/kconfig/lxdialog/lxdialog >> >> >> scripts/kconfig/lxdialog/checklist.o: In function `print_arrows': >> >> >> checklist.c:(.text+0x29): undefined reference to `wmove' >> >> > >> >> > [ snip many more 'undefined references'... ] >> >> > >> >> > 'wmove' (and most -- maybe all -- of the other undefined references) >> >> > come from the curses library. Compilation worked, so the header >> >> > files >> >> > were found, but the linker couldn't find the libcurses.so library >> >> > file. >> >> > >> >> > If you run: >> >> > >> >> > find / -name '*curses*' | xargs ls -ld >> >> > >> >> > what's the output? >> >> > >> >> > -mg >> >> > >> >> > >> >> > >> >> >> collect2: error: ld returned 1 exit status >> >> >> scripts/Makefile.host:113: recipe for target >> >> >> 'scripts/kconfig/lxdialog/lxdialog' failed >> >> >> make[2]: *** [scripts/kconfig/lxdialog/lxdialog] Error 1 >> >> >> /opt/staging/busybox-1.24.1/scripts/kconfig/Makefile:14: recipe for >> >> >> target 'menuconfig' failed >> >> >> make[1]: *** [menuconfig] Error 2 >> >> >> Makefile:443: recipe for target 'menuconfig' failed >> >> >> make: *** [menuconfig] Error 2 >> >> >> >> >> > >> >> > >> >> > >> >> >> >> >> >> >> >> >> >> >> >> On 7/20/16, Rob Landley wrote: >> >> >> > On 07/20/2016 03:49 PM, David Henderson wrote: >> >> >> >> msgbox.c:(.text+0x130): undefined
Re: make menuconfig deps
I ran into a similar issue with menuconfig not finding ncurses library as well. After talking with IT folks, we used HOSTCC='gcc -Wl, -llibtinfo' to get it to work - initially - the menu was "horrible". . . . After some debugging of other problems, I discovered that there were 2 different compilers available on our systems: path1: GCC 4.2.1 - which had the problems path2: GCC 4.4.7 - which solved this and other problems. So it might be that the linux distro being used is not quite setup correctly Or it's a very old compiler? My situation is that the IT folks have tried to turn a Linux distro (RHEL6.4) into a BSD Variant-looking-messed-up-sort-of-thing. . . . NEVER had an issue running on FedoraCore22 in a VM on my MAC :) Regards, Stephen On Fri, Jul 22, 2016 at 12:48 PM, ..mg..wrote: > > On Thu, Jul 21, 2016 at 09:40:21PM +0200, Laurent Bercot wrote: > > > > make menuconfig \ > > HOST_EXTRACFLAGS='-I/opt/ncurses/include -DKBUILD_NO_NLS > -DCURSES_LOC=""' \ > > HOST_LOADLIBES='-L/opt/ncurses/lib -static -lncurses' > > > > Yes, that's HOST_LOADLIBES with an 'E'. > > > Ah! That's obnoxiously obscure, but probably better than my trick of > putting loader flags in CC. > > -mg > > > > > -- > > Laurent > > > > ___ > > busybox mailing list > > busybox@busybox.net > > http://lists.busybox.net/mailman/listinfo/busybox > ___ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
On Thu, Jul 21, 2016 at 09:40:21PM +0200, Laurent Bercot wrote: > > make menuconfig \ > HOST_EXTRACFLAGS='-I/opt/ncurses/include -DKBUILD_NO_NLS > -DCURSES_LOC=""' \ > HOST_LOADLIBES='-L/opt/ncurses/lib -static -lncurses' > > Yes, that's HOST_LOADLIBES with an 'E'. Ah! That's obnoxiously obscure, but probably better than my trick of putting loader flags in CC. -mg > > -- > Laurent > > ___ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
On Fri, Jul 22, 2016 at 11:11:23AM -0400, David Henderson wrote: > Thanks for the tip MG, but unfortunately this did not work... > > Dave Sorry, I'm getting confused with my library-finding tricks. LD_LIBRARY_PATH is for runtime. This trick works for me (tested) with ncurses in a non-standard location: $ make menuconfig HOSTCC="gcc -L/usr/local/lib -lncurses" But long-term, you might want to teach your compiler about libraries in /usr/local/lib. I'm using musl, so I use /etc/ld-musl-i386.path, glibc is I think /etc/ld.so.conf. HTH, -mg > > > On 7/21/16, ..mg..wrote: > > On Thu, Jul 21, 2016 at 11:41:10AM -0400, David Henderson wrote: > > > >> lrwxrwxrwx1 root root47 Jul 21 08:59 > >> /usr/local/lib/libncurses.so -> > >> /tmp/tcloop/ncurses/usr/local/lib/libncurses.so > > > > > >> > >> I don't see a libcurses.so file, but you may have meant libncurses.so > >> which is present. Let me know! > >> > > > > That should do. I'm noticing that it's in /usr/local/lib, which > > might not be in your search path. Does this work? > > > > $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH > > $ make menuconfig > > > > -mg > > > >> Thanks, > >> Dave > >> > >> > >> On 7/21/16, ..mg.. wrote: > >> > On Thu, Jul 21, 2016 at 09:07:09AM -0400, David Henderson wrote: > >> >> No problem, here's the entire output: > >> > > >> > [snip...] > >> >> HOSTCC scripts/kconfig/zconf.tab.o > >> >> In file included from scripts/kconfig/zconf.tab.c:152:0: > >> >> scripts/kconfig/zconf.hash.c:155:43: warning: > >> >> 'kconf_id_strings_contents' is static but used in inline function > >> >> 'kconf_id_lookup' which is not static > >> >> #define kconf_id_strings ((const char *) _id_strings_contents) > >> >>^ > >> >> scripts/kconfig/zconf.hash.c:222:44: note: in expansion of macro > >> >> 'kconf_id_strings' > >> >>register const char *s = o + kconf_id_strings; > >> >> ^ > >> >> scripts/kconfig/zconf.hash.c:215:26: warning: 'kconf_id_hash' is > >> >> static but used in inline function 'kconf_id_lookup' which is not > >> >> static > >> >>register int key = kconf_id_hash (str, len); > >> >> ^ > >> >> scripts/kconfig/zconf.hash.c:171:26: warning: 'wordlist' is static but > >> >> declared in inline function 'kconf_id_lookup' which is not static > >> >>static struct kconf_id wordlist[] = > >> > > >> > > >> > These are just warnings, you should be able to ignore them. > >> > > >> >> HOSTLD scripts/kconfig/mconf > >> >> HOSTCC scripts/kconfig/lxdialog/checklist.o > >> >> HOSTCC scripts/kconfig/lxdialog/inputbox.o > >> >> HOSTCC scripts/kconfig/lxdialog/lxdialog.o > >> >> HOSTCC scripts/kconfig/lxdialog/menubox.o > >> >> HOSTCC scripts/kconfig/lxdialog/msgbox.o > >> >> HOSTCC scripts/kconfig/lxdialog/textbox.o > >> >> HOSTCC scripts/kconfig/lxdialog/util.o > >> >> HOSTCC scripts/kconfig/lxdialog/yesno.o > >> >> HOSTLD scripts/kconfig/lxdialog/lxdialog > >> >> scripts/kconfig/lxdialog/checklist.o: In function `print_arrows': > >> >> checklist.c:(.text+0x29): undefined reference to `wmove' > >> > > >> > [ snip many more 'undefined references'... ] > >> > > >> > 'wmove' (and most -- maybe all -- of the other undefined references) > >> > come from the curses library. Compilation worked, so the header files > >> > were found, but the linker couldn't find the libcurses.so library file. > >> > > >> > If you run: > >> > > >> > find / -name '*curses*' | xargs ls -ld > >> > > >> > what's the output? > >> > > >> > -mg > >> > > >> > > >> > > >> >> collect2: error: ld returned 1 exit status > >> >> scripts/Makefile.host:113: recipe for target > >> >> 'scripts/kconfig/lxdialog/lxdialog' failed > >> >> make[2]: *** [scripts/kconfig/lxdialog/lxdialog] Error 1 > >> >> /opt/staging/busybox-1.24.1/scripts/kconfig/Makefile:14: recipe for > >> >> target 'menuconfig' failed > >> >> make[1]: *** [menuconfig] Error 2 > >> >> Makefile:443: recipe for target 'menuconfig' failed > >> >> make: *** [menuconfig] Error 2 > >> >> > >> > > >> > > >> > > >> >> > >> >> > >> >> > >> >> On 7/20/16, Rob Landley wrote: > >> >> > On 07/20/2016 03:49 PM, David Henderson wrote: > >> >> >> msgbox.c:(.text+0x130): undefined reference to `waddch' > >> >> >> msgbox.c:(.text+0x160): undefined reference to `wrefresh' > >> >> >> msgbox.c:(.text+0x190): undefined reference to `wgetch' > >> >> >> msgbox.c:(.text+0x1a1): undefined reference to `delwin' > >> >> >> msgbox.c:(.text+0x1f5): undefined reference to `wrefresh' > >> >> >> msgbox.c:(.text+0x201): undefined reference to `delwin' > >> >> >> collect2: error: ld returned 1 exit status > >> >> > > >> >> > That's not a failure to find collect2, that's an error message > >> >> > returned > >> >> > _from_ collect2, saying its attempt to link couldn't find symbols > >> >> >
Re: make menuconfig deps
Thanks Laurent, after some tweaking to the values this ended up working out just fine! I appreciate everyone's help so that I could get this going! Thanks, Dave On 7/21/16, Laurent Bercotwrote: > > Kbuild, be it the kernel's or busybox, assumes that ncurses is available > in /usr or /usr/local, and nowhere else. To override those assumptions if > your ncurses package isn't installed in a "standard" location, you need > a few workarounds, as in manual make variables. > > My hand-built ncurses is installed in /opt/ncurses (.../include and > .../lib). > For it to be found, I invoke make menuconfig this way: > > make menuconfig \ > HOST_EXTRACFLAGS='-I/opt/ncurses/include -DKBUILD_NO_NLS > -DCURSES_LOC=""' \ > HOST_LOADLIBES='-L/opt/ncurses/lib -static -lncurses' > > Yes, that's HOST_LOADLIBES with an 'E'. > Replace /opt/ncurses with the full path to your ncurses installation. > Feel free to remove -static if you're using glibc and/or don't mind > configuring your dynamic linker so that it knows how to find your > libncurses.so library. > > -- > Laurent > > ___ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
Thanks for the tip MG, but unfortunately this did not work... Dave On 7/21/16, ..mg..wrote: > On Thu, Jul 21, 2016 at 11:41:10AM -0400, David Henderson wrote: > >> lrwxrwxrwx1 root root47 Jul 21 08:59 >> /usr/local/lib/libncurses.so -> >> /tmp/tcloop/ncurses/usr/local/lib/libncurses.so > > >> >> I don't see a libcurses.so file, but you may have meant libncurses.so >> which is present. Let me know! >> > > That should do. I'm noticing that it's in /usr/local/lib, which > might not be in your search path. Does this work? > > $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH > $ make menuconfig > > -mg > >> Thanks, >> Dave >> >> >> On 7/21/16, ..mg.. wrote: >> > On Thu, Jul 21, 2016 at 09:07:09AM -0400, David Henderson wrote: >> >> No problem, here's the entire output: >> > >> > [snip...] >> >> HOSTCC scripts/kconfig/zconf.tab.o >> >> In file included from scripts/kconfig/zconf.tab.c:152:0: >> >> scripts/kconfig/zconf.hash.c:155:43: warning: >> >> 'kconf_id_strings_contents' is static but used in inline function >> >> 'kconf_id_lookup' which is not static >> >> #define kconf_id_strings ((const char *) _id_strings_contents) >> >>^ >> >> scripts/kconfig/zconf.hash.c:222:44: note: in expansion of macro >> >> 'kconf_id_strings' >> >>register const char *s = o + kconf_id_strings; >> >> ^ >> >> scripts/kconfig/zconf.hash.c:215:26: warning: 'kconf_id_hash' is >> >> static but used in inline function 'kconf_id_lookup' which is not >> >> static >> >>register int key = kconf_id_hash (str, len); >> >> ^ >> >> scripts/kconfig/zconf.hash.c:171:26: warning: 'wordlist' is static but >> >> declared in inline function 'kconf_id_lookup' which is not static >> >>static struct kconf_id wordlist[] = >> > >> > >> > These are just warnings, you should be able to ignore them. >> > >> >> HOSTLD scripts/kconfig/mconf >> >> HOSTCC scripts/kconfig/lxdialog/checklist.o >> >> HOSTCC scripts/kconfig/lxdialog/inputbox.o >> >> HOSTCC scripts/kconfig/lxdialog/lxdialog.o >> >> HOSTCC scripts/kconfig/lxdialog/menubox.o >> >> HOSTCC scripts/kconfig/lxdialog/msgbox.o >> >> HOSTCC scripts/kconfig/lxdialog/textbox.o >> >> HOSTCC scripts/kconfig/lxdialog/util.o >> >> HOSTCC scripts/kconfig/lxdialog/yesno.o >> >> HOSTLD scripts/kconfig/lxdialog/lxdialog >> >> scripts/kconfig/lxdialog/checklist.o: In function `print_arrows': >> >> checklist.c:(.text+0x29): undefined reference to `wmove' >> > >> > [ snip many more 'undefined references'... ] >> > >> > 'wmove' (and most -- maybe all -- of the other undefined references) >> > come from the curses library. Compilation worked, so the header files >> > were found, but the linker couldn't find the libcurses.so library file. >> > >> > If you run: >> > >> > find / -name '*curses*' | xargs ls -ld >> > >> > what's the output? >> > >> > -mg >> > >> > >> > >> >> collect2: error: ld returned 1 exit status >> >> scripts/Makefile.host:113: recipe for target >> >> 'scripts/kconfig/lxdialog/lxdialog' failed >> >> make[2]: *** [scripts/kconfig/lxdialog/lxdialog] Error 1 >> >> /opt/staging/busybox-1.24.1/scripts/kconfig/Makefile:14: recipe for >> >> target 'menuconfig' failed >> >> make[1]: *** [menuconfig] Error 2 >> >> Makefile:443: recipe for target 'menuconfig' failed >> >> make: *** [menuconfig] Error 2 >> >> >> > >> > >> > >> >> >> >> >> >> >> >> On 7/20/16, Rob Landley wrote: >> >> > On 07/20/2016 03:49 PM, David Henderson wrote: >> >> >> msgbox.c:(.text+0x130): undefined reference to `waddch' >> >> >> msgbox.c:(.text+0x160): undefined reference to `wrefresh' >> >> >> msgbox.c:(.text+0x190): undefined reference to `wgetch' >> >> >> msgbox.c:(.text+0x1a1): undefined reference to `delwin' >> >> >> msgbox.c:(.text+0x1f5): undefined reference to `wrefresh' >> >> >> msgbox.c:(.text+0x201): undefined reference to `delwin' >> >> >> collect2: error: ld returned 1 exit status >> >> > >> >> > That's not a failure to find collect2, that's an error message >> >> > returned >> >> > _from_ collect2, saying its attempt to link couldn't find symbols >> >> > the >> >> > program referred to. >> >> > >> >> > Googling for delwin found: >> >> > >> >> > http://linux.die.net/man/3/delwin >> >> > >> >> > And it's a curses function. Looks like it's not finding the curses >> >> > library, although if it attempted to link a library that it couldn't >> >> > find that would yet again have been in the part of the error output >> >> > you >> >> > didn't include (further up). >> >> > >> >> > Rob >> >> > >> >> ___ >> >> busybox mailing list >> >> busybox@busybox.net >> >> http://lists.busybox.net/mailman/listinfo/busybox >> > > ___ busybox mailing list busybox@busybox.net
Re: make menuconfig deps
On Thu, Jul 21, 2016 at 11:41:10AM -0400, David Henderson wrote: > lrwxrwxrwx1 root root47 Jul 21 08:59 > /usr/local/lib/libncurses.so -> > /tmp/tcloop/ncurses/usr/local/lib/libncurses.so > > I don't see a libcurses.so file, but you may have meant libncurses.so > which is present. Let me know! > That should do. I'm noticing that it's in /usr/local/lib, which might not be in your search path. Does this work? $ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH $ make menuconfig -mg > Thanks, > Dave > > > On 7/21/16, ..mg..wrote: > > On Thu, Jul 21, 2016 at 09:07:09AM -0400, David Henderson wrote: > >> No problem, here's the entire output: > > > > [snip...] > >> HOSTCC scripts/kconfig/zconf.tab.o > >> In file included from scripts/kconfig/zconf.tab.c:152:0: > >> scripts/kconfig/zconf.hash.c:155:43: warning: > >> 'kconf_id_strings_contents' is static but used in inline function > >> 'kconf_id_lookup' which is not static > >> #define kconf_id_strings ((const char *) _id_strings_contents) > >>^ > >> scripts/kconfig/zconf.hash.c:222:44: note: in expansion of macro > >> 'kconf_id_strings' > >>register const char *s = o + kconf_id_strings; > >> ^ > >> scripts/kconfig/zconf.hash.c:215:26: warning: 'kconf_id_hash' is > >> static but used in inline function 'kconf_id_lookup' which is not > >> static > >>register int key = kconf_id_hash (str, len); > >> ^ > >> scripts/kconfig/zconf.hash.c:171:26: warning: 'wordlist' is static but > >> declared in inline function 'kconf_id_lookup' which is not static > >>static struct kconf_id wordlist[] = > > > > > > These are just warnings, you should be able to ignore them. > > > >> HOSTLD scripts/kconfig/mconf > >> HOSTCC scripts/kconfig/lxdialog/checklist.o > >> HOSTCC scripts/kconfig/lxdialog/inputbox.o > >> HOSTCC scripts/kconfig/lxdialog/lxdialog.o > >> HOSTCC scripts/kconfig/lxdialog/menubox.o > >> HOSTCC scripts/kconfig/lxdialog/msgbox.o > >> HOSTCC scripts/kconfig/lxdialog/textbox.o > >> HOSTCC scripts/kconfig/lxdialog/util.o > >> HOSTCC scripts/kconfig/lxdialog/yesno.o > >> HOSTLD scripts/kconfig/lxdialog/lxdialog > >> scripts/kconfig/lxdialog/checklist.o: In function `print_arrows': > >> checklist.c:(.text+0x29): undefined reference to `wmove' > > > > [ snip many more 'undefined references'... ] > > > > 'wmove' (and most -- maybe all -- of the other undefined references) > > come from the curses library. Compilation worked, so the header files > > were found, but the linker couldn't find the libcurses.so library file. > > > > If you run: > > > > find / -name '*curses*' | xargs ls -ld > > > > what's the output? > > > > -mg > > > > > > > >> collect2: error: ld returned 1 exit status > >> scripts/Makefile.host:113: recipe for target > >> 'scripts/kconfig/lxdialog/lxdialog' failed > >> make[2]: *** [scripts/kconfig/lxdialog/lxdialog] Error 1 > >> /opt/staging/busybox-1.24.1/scripts/kconfig/Makefile:14: recipe for > >> target 'menuconfig' failed > >> make[1]: *** [menuconfig] Error 2 > >> Makefile:443: recipe for target 'menuconfig' failed > >> make: *** [menuconfig] Error 2 > >> > > > > > > > >> > >> > >> > >> On 7/20/16, Rob Landley wrote: > >> > On 07/20/2016 03:49 PM, David Henderson wrote: > >> >> msgbox.c:(.text+0x130): undefined reference to `waddch' > >> >> msgbox.c:(.text+0x160): undefined reference to `wrefresh' > >> >> msgbox.c:(.text+0x190): undefined reference to `wgetch' > >> >> msgbox.c:(.text+0x1a1): undefined reference to `delwin' > >> >> msgbox.c:(.text+0x1f5): undefined reference to `wrefresh' > >> >> msgbox.c:(.text+0x201): undefined reference to `delwin' > >> >> collect2: error: ld returned 1 exit status > >> > > >> > That's not a failure to find collect2, that's an error message returned > >> > _from_ collect2, saying its attempt to link couldn't find symbols the > >> > program referred to. > >> > > >> > Googling for delwin found: > >> > > >> > http://linux.die.net/man/3/delwin > >> > > >> > And it's a curses function. Looks like it's not finding the curses > >> > library, although if it attempted to link a library that it couldn't > >> > find that would yet again have been in the part of the error output you > >> > didn't include (further up). > >> > > >> > Rob > >> > > >> ___ > >> busybox mailing list > >> busybox@busybox.net > >> http://lists.busybox.net/mailman/listinfo/busybox > > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
Kbuild, be it the kernel's or busybox, assumes that ncurses is available in /usr or /usr/local, and nowhere else. To override those assumptions if your ncurses package isn't installed in a "standard" location, you need a few workarounds, as in manual make variables. My hand-built ncurses is installed in /opt/ncurses (.../include and .../lib). For it to be found, I invoke make menuconfig this way: make menuconfig \ HOST_EXTRACFLAGS='-I/opt/ncurses/include -DKBUILD_NO_NLS -DCURSES_LOC=""' \ HOST_LOADLIBES='-L/opt/ncurses/lib -static -lncurses' Yes, that's HOST_LOADLIBES with an 'E'. Replace /opt/ncurses with the full path to your ncurses installation. Feel free to remove -static if you're using glibc and/or don't mind configuring your dynamic linker so that it knows how to find your libncurses.so library. -- Laurent ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
I'll need a little help with your suggestion. Where do I find that line? Thanks, Dave On 7/21/16, Bernhard Reutner-Fischerwrote: > On July 21, 2016 5:41:10 PM GMT+02:00, David Henderson > wrote: >>Thanks MG for the continued help. The results of the find call are as >>shown below: > >>lrwxrwxrwx1 root root47 Jul 21 08:59 >>/usr/local/lib/libncurses.so -> >>/tmp/tcloop/ncurses/usr/local/lib/libncurses.so > > So in theory you do have one. > What's the lxdialog link line for "make V=1" ? > > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
No problem :) On 7/21/16, Rich Mahnwrote: > David Henderson wrote: > >> Good morning Rich, thanks for the response. I have ncurses-dev >> already installed. I'm surprised BB required qt and kmod dev packages >> installed to use the menuconfig. I don't recall installing those >> packages before when I recompiled BB. Tinycore does have a qt-dev >> package, but no kmod... >> >> Thanks, >> Dave > Dave, > > You are correct. I need the qt and kmod for compiling a kernel. Thanks > for the correction. > > Rich > >> >> >> On 7/20/16, Rich Mahn wrote: >> > Rob Landley wrote: >> > >> >> On 07/20/2016 10:45 AM, David Henderson wrote: >> >> > Good morning everyone. I'm trying to run the 'make menuconfig' to >> >> > configure BB but I keep getting a 'collect2: error:'. What are the >> >> > dependencies that are necessary to get this going? Currently I have >> >> > the basics like gcc, ncurses-dev, ncurses, etc. >> >> >> >> collect2 is a wrapper around ld that handles C++ global initializers. >> >> It's been part of binutils for over a decade, and should be in your >> >> $PATH if you have binutils installed. >> >> >> >> What toolchain are you using, and can it build and run "hello world"? >> >> >> >> Rob >> > >> > In Centos 7 I've found I need to add qt-devel, kmod-devel, and >> > ncurses-devel for the functions I need to compile in busybox. I >> > believe >> > the ncurses-devel was required to use 'make menuconfig'. >> > >> > Rich >> > ___ >> > busybox mailing list >> > busybox@busybox.net >> > http://lists.busybox.net/mailman/listinfo/busybox >> > >> ___ >> busybox mailing list >> busybox@busybox.net >> http://lists.busybox.net/mailman/listinfo/busybox > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
David Hendersonwrote: > Good morning Rich, thanks for the response. I have ncurses-dev > already installed. I'm surprised BB required qt and kmod dev packages > installed to use the menuconfig. I don't recall installing those > packages before when I recompiled BB. Tinycore does have a qt-dev > package, but no kmod... > > Thanks, > Dave Dave, You are correct. I need the qt and kmod for compiling a kernel. Thanks for the correction. Rich > > > On 7/20/16, Rich Mahn wrote: > > Rob Landley wrote: > > > >> On 07/20/2016 10:45 AM, David Henderson wrote: > >> > Good morning everyone. I'm trying to run the 'make menuconfig' to > >> > configure BB but I keep getting a 'collect2: error:'. What are the > >> > dependencies that are necessary to get this going? Currently I have > >> > the basics like gcc, ncurses-dev, ncurses, etc. > >> > >> collect2 is a wrapper around ld that handles C++ global initializers. > >> It's been part of binutils for over a decade, and should be in your > >> $PATH if you have binutils installed. > >> > >> What toolchain are you using, and can it build and run "hello world"? > >> > >> Rob > > > > In Centos 7 I've found I need to add qt-devel, kmod-devel, and > > ncurses-devel for the functions I need to compile in busybox. I believe > > the ncurses-devel was required to use 'make menuconfig'. > > > > Rich > > ___ > > busybox mailing list > > busybox@busybox.net > > http://lists.busybox.net/mailman/listinfo/busybox > > > ___ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
On July 21, 2016 5:41:10 PM GMT+02:00, David Hendersonwrote: >Thanks MG for the continued help. The results of the find call are as >shown below: >lrwxrwxrwx1 root root47 Jul 21 08:59 >/usr/local/lib/libncurses.so -> >/tmp/tcloop/ncurses/usr/local/lib/libncurses.so So in theory you do have one. What's the lxdialog link line for "make V=1" ? ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
Thanks MG for the continued help. The results of the find call are as shown below: drwxr-xr-x3 root root26 Apr 22 2015 /tmp/tcloop/ncurses drwxr-xr-x3 root root26 Apr 22 2015 /tmp/tcloop/ncurses-dev -rw-r--r--1 root root 93600 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/include/curses.h -rw-r--r--1 root root 6582 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/include/cursesapp.h -rw-r--r--1 root root 27630 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/include/cursesf.h -rw-r--r--1 root root 19486 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/include/cursesm.h -rw-r--r--1 root root 8473 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/include/cursesp.h -rw-r--r--1 root root 49264 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/include/cursesw.h lrwxrwxrwx1 root root 8 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/include/ncurses.h -> curses.h -rw-r--r--1 root root 3925 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/include/ncurses_dll.h lrwxrwxrwx1 root root15 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/lib/libncurses++.a -> libncurses++w.a -rw-r--r--1 root root111952 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/lib/libncurses++w.a lrwxrwxrwx1 root root13 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/lib/libncurses.a -> libncursesw.a lrwxrwxrwx1 root root15 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/lib/libncurses_g.a -> libncursesw_g.a -rw-r--r--1 root root538274 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/lib/libncursesw.a -rw-r--r--1 root root 2839944 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/lib/libncursesw_g.a -rw-r--r--1 root root 304 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/lib/pkgconfig/ncurses++w.pc -rw-r--r--1 root root 266 Apr 22 2015 /tmp/tcloop/ncurses-dev/usr/local/lib/pkgconfig/ncursesw.pc lrwxrwxrwx1 root root14 Apr 22 2015 /tmp/tcloop/ncurses/usr/local/lib/libncurses.so -> libncursesw.so lrwxrwxrwx1 root root16 Apr 22 2015 /tmp/tcloop/ncurses/usr/local/lib/libncurses.so.5 -> libncursesw.so.5 lrwxrwxrwx1 root root18 Apr 22 2015 /tmp/tcloop/ncurses/usr/local/lib/libncurses.so.5.9 -> libncursesw.so.5.9 lrwxrwxrwx1 root root16 Apr 22 2015 /tmp/tcloop/ncurses/usr/local/lib/libncursesw.so -> libncursesw.so.5 lrwxrwxrwx1 root root18 Apr 22 2015 /tmp/tcloop/ncurses/usr/local/lib/libncursesw.so.5 -> libncursesw.so.5.9 -rwxr-xr-x1 root root346040 Apr 22 2015 /tmp/tcloop/ncurses/usr/local/lib/libncursesw.so.5.9 lrwxrwxrwx1 root root50 Jul 21 08:59 /usr/local/include/curses.h -> /tmp/tcloop/ncurses-dev/usr/local/include/curses.h lrwxrwxrwx1 root root53 Jul 21 08:59 /usr/local/include/cursesapp.h -> /tmp/tcloop/ncurses-dev/usr/local/include/cursesapp.h lrwxrwxrwx1 root root51 Jul 21 08:59 /usr/local/include/cursesf.h -> /tmp/tcloop/ncurses-dev/usr/local/include/cursesf.h lrwxrwxrwx1 root root51 Jul 21 08:59 /usr/local/include/cursesm.h -> /tmp/tcloop/ncurses-dev/usr/local/include/cursesm.h lrwxrwxrwx1 root root51 Jul 21 08:59 /usr/local/include/cursesp.h -> /tmp/tcloop/ncurses-dev/usr/local/include/cursesp.h lrwxrwxrwx1 root root51 Jul 21 08:59 /usr/local/include/cursesw.h -> /tmp/tcloop/ncurses-dev/usr/local/include/cursesw.h lrwxrwxrwx1 root root51 Jul 21 08:59 /usr/local/include/ncurses.h -> /tmp/tcloop/ncurses-dev/usr/local/include/ncurses.h lrwxrwxrwx1 root root55 Jul 21 08:59 /usr/local/include/ncurses_dll.h -> /tmp/tcloop/ncurses-dev/usr/local/include/ncurses_dll.h lrwxrwxrwx1 root root52 Jul 21 08:59 /usr/local/lib/libncurses++.a -> /tmp/tcloop/ncurses-dev/usr/local/lib/libncurses++.a lrwxrwxrwx1 root root53 Jul 21 08:59 /usr/local/lib/libncurses++w.a -> /tmp/tcloop/ncurses-dev/usr/local/lib/libncurses++w.a lrwxrwxrwx1 root root50 Jul 21 08:59 /usr/local/lib/libncurses.a -> /tmp/tcloop/ncurses-dev/usr/local/lib/libncurses.a lrwxrwxrwx1 root root47 Jul 21 08:59 /usr/local/lib/libncurses.so -> /tmp/tcloop/ncurses/usr/local/lib/libncurses.so lrwxrwxrwx1 root root49 Jul 21 08:59 /usr/local/lib/libncurses.so.5 -> /tmp/tcloop/ncurses/usr/local/lib/libncurses.so.5 lrwxrwxrwx1 root root51 Jul 21 08:59 /usr/local/lib/libncurses.so.5.9 -> /tmp/tcloop/ncurses/usr/local/lib/libncurses.so.5.9 lrwxrwxrwx1 root root52 Jul 21 08:59 /usr/local/lib/libncurses_g.a -> /tmp/tcloop/ncurses-dev/usr/local/lib/libncurses_g.a lrwxrwxrwx1 root root
Re: make menuconfig deps
On Thu, Jul 21, 2016 at 09:07:09AM -0400, David Henderson wrote: > No problem, here's the entire output: [snip...] > HOSTCC scripts/kconfig/zconf.tab.o > In file included from scripts/kconfig/zconf.tab.c:152:0: > scripts/kconfig/zconf.hash.c:155:43: warning: > 'kconf_id_strings_contents' is static but used in inline function > 'kconf_id_lookup' which is not static > #define kconf_id_strings ((const char *) _id_strings_contents) >^ > scripts/kconfig/zconf.hash.c:222:44: note: in expansion of macro > 'kconf_id_strings' >register const char *s = o + kconf_id_strings; > ^ > scripts/kconfig/zconf.hash.c:215:26: warning: 'kconf_id_hash' is > static but used in inline function 'kconf_id_lookup' which is not > static >register int key = kconf_id_hash (str, len); > ^ > scripts/kconfig/zconf.hash.c:171:26: warning: 'wordlist' is static but > declared in inline function 'kconf_id_lookup' which is not static >static struct kconf_id wordlist[] = These are just warnings, you should be able to ignore them. > HOSTLD scripts/kconfig/mconf > HOSTCC scripts/kconfig/lxdialog/checklist.o > HOSTCC scripts/kconfig/lxdialog/inputbox.o > HOSTCC scripts/kconfig/lxdialog/lxdialog.o > HOSTCC scripts/kconfig/lxdialog/menubox.o > HOSTCC scripts/kconfig/lxdialog/msgbox.o > HOSTCC scripts/kconfig/lxdialog/textbox.o > HOSTCC scripts/kconfig/lxdialog/util.o > HOSTCC scripts/kconfig/lxdialog/yesno.o > HOSTLD scripts/kconfig/lxdialog/lxdialog > scripts/kconfig/lxdialog/checklist.o: In function `print_arrows': > checklist.c:(.text+0x29): undefined reference to `wmove' [ snip many more 'undefined references'... ] 'wmove' (and most -- maybe all -- of the other undefined references) come from the curses library. Compilation worked, so the header files were found, but the linker couldn't find the libcurses.so library file. If you run: find / -name '*curses*' | xargs ls -ld what's the output? -mg > collect2: error: ld returned 1 exit status > scripts/Makefile.host:113: recipe for target > 'scripts/kconfig/lxdialog/lxdialog' failed > make[2]: *** [scripts/kconfig/lxdialog/lxdialog] Error 1 > /opt/staging/busybox-1.24.1/scripts/kconfig/Makefile:14: recipe for > target 'menuconfig' failed > make[1]: *** [menuconfig] Error 2 > Makefile:443: recipe for target 'menuconfig' failed > make: *** [menuconfig] Error 2 > > > > > On 7/20/16, Rob Landleywrote: > > On 07/20/2016 03:49 PM, David Henderson wrote: > >> msgbox.c:(.text+0x130): undefined reference to `waddch' > >> msgbox.c:(.text+0x160): undefined reference to `wrefresh' > >> msgbox.c:(.text+0x190): undefined reference to `wgetch' > >> msgbox.c:(.text+0x1a1): undefined reference to `delwin' > >> msgbox.c:(.text+0x1f5): undefined reference to `wrefresh' > >> msgbox.c:(.text+0x201): undefined reference to `delwin' > >> collect2: error: ld returned 1 exit status > > > > That's not a failure to find collect2, that's an error message returned > > _from_ collect2, saying its attempt to link couldn't find symbols the > > program referred to. > > > > Googling for delwin found: > > > > http://linux.die.net/man/3/delwin > > > > And it's a curses function. Looks like it's not finding the curses > > library, although if it attempted to link a library that it couldn't > > find that would yet again have been in the part of the error output you > > didn't include (further up). > > > > Rob > > > ___ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
No problem, here's the entire output: HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/split-include HOSTCC scripts/basic/docproc GEN include/applets.h GEN include/usage.h GEN miscutils/Kbuild GEN miscutils/Config.in GEN scripts/Kbuild GEN libpwdgrp/Kbuild GEN archival/Kbuild GEN archival/Config.in GEN archival/libarchive/Kbuild GEN findutils/Kbuild GEN findutils/Config.in GEN sysklogd/Kbuild GEN sysklogd/Config.in GEN coreutils/Kbuild GEN coreutils/Config.in GEN coreutils/libcoreutils/Kbuild GEN mailutils/Kbuild GEN mailutils/Config.in GEN applets/Kbuild GEN procps/Kbuild GEN procps/Config.in GEN runit/Kbuild GEN runit/Config.in GEN util-linux/Kbuild GEN util-linux/Config.in GEN util-linux/volume_id/Kbuild GEN util-linux/volume_id/Config.in GEN editors/Kbuild GEN editors/Config.in GEN console-tools/Kbuild GEN console-tools/Config.in GEN modutils/Kbuild GEN modutils/Config.in GEN e2fsprogs/Kbuild GEN e2fsprogs/Config.in GEN debianutils/Kbuild GEN debianutils/Config.in GEN printutils/Kbuild GEN printutils/Config.in GEN shell/Kbuild GEN shell/Config.in GEN init/Kbuild GEN init/Config.in GEN networking/Kbuild GEN networking/Config.in GEN networking/udhcp/Kbuild GEN networking/udhcp/Config.in GEN networking/libiproute/Kbuild GEN libbb/Kbuild GEN libbb/Config.in GEN loginutils/Kbuild GEN loginutils/Config.in GEN selinux/Kbuild GEN selinux/Config.in HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/kxgettext.o HOSTCC scripts/kconfig/mconf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/lex.zconf.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o In file included from scripts/kconfig/zconf.tab.c:152:0: scripts/kconfig/zconf.hash.c:155:43: warning: 'kconf_id_strings_contents' is static but used in inline function 'kconf_id_lookup' which is not static #define kconf_id_strings ((const char *) _id_strings_contents) ^ scripts/kconfig/zconf.hash.c:222:44: note: in expansion of macro 'kconf_id_strings' register const char *s = o + kconf_id_strings; ^ scripts/kconfig/zconf.hash.c:215:26: warning: 'kconf_id_hash' is static but used in inline function 'kconf_id_lookup' which is not static register int key = kconf_id_hash (str, len); ^ scripts/kconfig/zconf.hash.c:171:26: warning: 'wordlist' is static but declared in inline function 'kconf_id_lookup' which is not static static struct kconf_id wordlist[] = ^ HOSTLD scripts/kconfig/mconf HOSTCC scripts/kconfig/lxdialog/checklist.o HOSTCC scripts/kconfig/lxdialog/inputbox.o HOSTCC scripts/kconfig/lxdialog/lxdialog.o HOSTCC scripts/kconfig/lxdialog/menubox.o HOSTCC scripts/kconfig/lxdialog/msgbox.o HOSTCC scripts/kconfig/lxdialog/textbox.o HOSTCC scripts/kconfig/lxdialog/util.o HOSTCC scripts/kconfig/lxdialog/yesno.o HOSTLD scripts/kconfig/lxdialog/lxdialog scripts/kconfig/lxdialog/checklist.o: In function `print_arrows': checklist.c:(.text+0x29): undefined reference to `wmove' checklist.c:(.text+0x4c): undefined reference to `acs_map' checklist.c:(.text+0x53): undefined reference to `waddch' checklist.c:(.text+0x63): undefined reference to `waddnstr' checklist.c:(.text+0x73): undefined reference to `wmove' checklist.c:(.text+0x9f): undefined reference to `acs_map' checklist.c:(.text+0xa6): undefined reference to `waddch' checklist.c:(.text+0xe0): undefined reference to `acs_map' checklist.c:(.text+0xe7): undefined reference to `waddch' checklist.c:(.text+0xef): undefined reference to `acs_map' checklist.c:(.text+0xf6): undefined reference to `waddch' checklist.c:(.text+0xfd): undefined reference to `acs_map' checklist.c:(.text+0x104): undefined reference to `waddch' checklist.c:(.text+0x109): undefined reference to `acs_map' checklist.c:(.text+0x140): undefined reference to `acs_map' checklist.c:(.text+0x147): undefined reference to `waddch' checklist.c:(.text+0x14f): undefined reference to `acs_map' checklist.c:(.text+0x156): undefined reference to `waddch' checklist.c:(.text+0x15e): undefined reference to `acs_map' checklist.c:(.text+0x165): undefined reference to `waddch' checklist.c:(.text+0x16d): undefined reference to `acs_map' checklist.c:(.text+0x174): undefined reference to `waddch' scripts/kconfig/lxdialog/checklist.o: In function `print_buttons': checklist.c:(.text+0x1e3): undefined reference to `wmove' scripts/kconfig/lxdialog/checklist.o: In function `print_item': checklist.c:(.text+0x22f): undefined reference to `wmove' checklist.c:(.text+0x257): undefined reference to `waddch'
Re: make menuconfig deps
Good morning Rich, thanks for the response. I have ncurses-dev already installed. I'm surprised BB required qt and kmod dev packages installed to use the menuconfig. I don't recall installing those packages before when I recompiled BB. Tinycore does have a qt-dev package, but no kmod... Thanks, Dave On 7/20/16, Rich Mahnwrote: > Rob Landley wrote: > >> On 07/20/2016 10:45 AM, David Henderson wrote: >> > Good morning everyone. I'm trying to run the 'make menuconfig' to >> > configure BB but I keep getting a 'collect2: error:'. What are the >> > dependencies that are necessary to get this going? Currently I have >> > the basics like gcc, ncurses-dev, ncurses, etc. >> >> collect2 is a wrapper around ld that handles C++ global initializers. >> It's been part of binutils for over a decade, and should be in your >> $PATH if you have binutils installed. >> >> What toolchain are you using, and can it build and run "hello world"? >> >> Rob > > In Centos 7 I've found I need to add qt-devel, kmod-devel, and > ncurses-devel for the functions I need to compile in busybox. I believe > the ncurses-devel was required to use 'make menuconfig'. > > Rich > ___ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
Rob Landleywrote: > On 07/20/2016 10:45 AM, David Henderson wrote: > > Good morning everyone. I'm trying to run the 'make menuconfig' to > > configure BB but I keep getting a 'collect2: error:'. What are the > > dependencies that are necessary to get this going? Currently I have > > the basics like gcc, ncurses-dev, ncurses, etc. > > collect2 is a wrapper around ld that handles C++ global initializers. > It's been part of binutils for over a decade, and should be in your > $PATH if you have binutils installed. > > What toolchain are you using, and can it build and run "hello world"? > > Rob In Centos 7 I've found I need to add qt-devel, kmod-devel, and ncurses-devel for the functions I need to compile in busybox. I believe the ncurses-devel was required to use 'make menuconfig'. Rich ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
On 07/20/2016 03:49 PM, David Henderson wrote: > msgbox.c:(.text+0x130): undefined reference to `waddch' > msgbox.c:(.text+0x160): undefined reference to `wrefresh' > msgbox.c:(.text+0x190): undefined reference to `wgetch' > msgbox.c:(.text+0x1a1): undefined reference to `delwin' > msgbox.c:(.text+0x1f5): undefined reference to `wrefresh' > msgbox.c:(.text+0x201): undefined reference to `delwin' > collect2: error: ld returned 1 exit status That's not a failure to find collect2, that's an error message returned _from_ collect2, saying its attempt to link couldn't find symbols the program referred to. Googling for delwin found: http://linux.die.net/man/3/delwin And it's a curses function. Looks like it's not finding the curses library, although if it attempted to link a library that it couldn't find that would yet again have been in the part of the error output you didn't include (further up). Rob ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
You're absolutely right Waldemar, sorry! Here's the snippet from the compile output: util.c:(.text+0x326): undefined reference to `waddch' scripts/kconfig/lxdialog/util.o: In function `print_button': util.c:(.text+0x74a): undefined reference to `wmove' scripts/kconfig/lxdialog/util.o: In function `draw_shadow': util.c:(.text+0xa59): undefined reference to `wnoutrefresh' scripts/kconfig/lxdialog/lxdialog.o: In function `main': lxdialog.c:(.text.startup+0x212): undefined reference to `COLS' lxdialog.c:(.text.startup+0x218): undefined reference to `LINES' lxdialog.c:(.text.startup+0x21e): undefined reference to `stdscr' ...snip... msgbox.c:(.text+0x130): undefined reference to `waddch' msgbox.c:(.text+0x160): undefined reference to `wrefresh' msgbox.c:(.text+0x190): undefined reference to `wgetch' msgbox.c:(.text+0x1a1): undefined reference to `delwin' msgbox.c:(.text+0x1f5): undefined reference to `wrefresh' msgbox.c:(.text+0x201): undefined reference to `delwin' collect2: error: ld returned 1 exit status scripts/Makefile.host:113: recipe for target 'scripts/kconfig/lxdialog/lxdialog' failed make[2]: *** [scripts/kconfig/lxdialog/lxdialog] Error 1 /opt/staging/busybox-1.24.1/scripts/kconfig/Makefile:14: recipe for target 'menuconfig' failed make[1]: *** [menuconfig] Error 2 Makefile:443: recipe for target 'menuconfig' failed make: *** [menuconfig] Error 2 On 7/20/16, Waldemar Brodkorbwrote: > Hi, > David Henderson wrote, > >> Hey Rob, thanks for getting back to me on this! How's all your projects >> going? >> >> I'm currently using TinyCoreLinux v7.x to compile BB and have not had >> problems compiling other software such as ssmtp, sshpass, wmctrl, >> dvb-apps, etc so there isn't a problem with compiling per se which is >> why I'm left scratching my head. Some other errors I'm getting are >> 'undefined reference to ...' along with the collect2 error message. >> I've checked that binutils are installed. Some package seems like it >> is missing, I just have no clue which one. Thoughts? > > It would be simpler to help, if you paste complete output of the > error messages you get. It's the second time you cut off the > interesting part of the error. > > best regards and good luck, > Waldemar > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
Hey Rob, thanks for getting back to me on this! How's all your projects going? I'm currently using TinyCoreLinux v7.x to compile BB and have not had problems compiling other software such as ssmtp, sshpass, wmctrl, dvb-apps, etc so there isn't a problem with compiling per se which is why I'm left scratching my head. Some other errors I'm getting are 'undefined reference to ...' along with the collect2 error message. I've checked that binutils are installed. Some package seems like it is missing, I just have no clue which one. Thoughts? Thanks, Dave On 7/20/16, Rob Landleywrote: > On 07/20/2016 10:45 AM, David Henderson wrote: >> Good morning everyone. I'm trying to run the 'make menuconfig' to >> configure BB but I keep getting a 'collect2: error:'. What are the >> dependencies that are necessary to get this going? Currently I have >> the basics like gcc, ncurses-dev, ncurses, etc. > > collect2 is a wrapper around ld that handles C++ global initializers. > It's been part of binutils for over a decade, and should be in your > $PATH if you have binutils installed. > > What toolchain are you using, and can it build and run "hello world"? > > Rob > ___ > busybox mailing list > busybox@busybox.net > http://lists.busybox.net/mailman/listinfo/busybox > ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
Hi, David Henderson wrote, > Hey Rob, thanks for getting back to me on this! How's all your projects > going? > > I'm currently using TinyCoreLinux v7.x to compile BB and have not had > problems compiling other software such as ssmtp, sshpass, wmctrl, > dvb-apps, etc so there isn't a problem with compiling per se which is > why I'm left scratching my head. Some other errors I'm getting are > 'undefined reference to ...' along with the collect2 error message. > I've checked that binutils are installed. Some package seems like it > is missing, I just have no clue which one. Thoughts? It would be simpler to help, if you paste complete output of the error messages you get. It's the second time you cut off the interesting part of the error. best regards and good luck, Waldemar ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox
Re: make menuconfig deps
On 07/20/2016 10:45 AM, David Henderson wrote: > Good morning everyone. I'm trying to run the 'make menuconfig' to > configure BB but I keep getting a 'collect2: error:'. What are the > dependencies that are necessary to get this going? Currently I have > the basics like gcc, ncurses-dev, ncurses, etc. collect2 is a wrapper around ld that handles C++ global initializers. It's been part of binutils for over a decade, and should be in your $PATH if you have binutils installed. What toolchain are you using, and can it build and run "hello world"? Rob ___ busybox mailing list busybox@busybox.net http://lists.busybox.net/mailman/listinfo/busybox