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.. <[email protected]> wrote:
> > On Thu, Jul 21, 2016 at 11:41:10AM -0400, David Henderson wrote:
> >
> >> lrwxrwxrwx    1 root     root            47 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.. <[email protected]> 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 *) &kconf_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 <[email protected]> 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
> >> >> [email protected]
> >> >> http://lists.busybox.net/mailman/listinfo/busybox
> >> >
> >
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to