The LD in my gentoo system is profoundly brain defective. I mean if it said "missing symbol in lib ncurses" or "multiple definitions of symbol X defined at line A, B, C" then I would be happy....
but, I have: ############# atg@tortoise /usr/lib $ cat libncurses.so /* GNU ld script Since Gentoo has critical dynamic libraries in /lib, and the static versions in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we run into linking problems. This "fake" dynamic lib is a linker script that redirects the linker to the real lib. And yes, this works in the cross- compiling scenario as the sysroot-ed linker will prepend the real path. See bug http://bugs.gentoo.org/4411 for more info. */ OUTPUT_FORMAT ( elf64-x86-64 ) GROUP ( /lib64/libncurses.so.5 ) atg@tortoise /usr/lib $ ############ (I originally named my 6 core AMD phenom 2 processor "tortoise" as a joke but it has since lived up to that name by being slugish and nonresponsive... mostly due to X11 and possible hardware failures in my GPU...) ############# atg@tortoise /lib64 $ ls -l libncurses* lrwxrwxrwx 1 root root 17 Jul 11 14:47 libncurses.so -> libncurses.so.5.9 lrwxrwxrwx 1 root root 17 Oct 29 23:52 libncurses.so.5 -> libncurses.so.5.9 -rwxr-xr-x 1 root root 193617 Oct 29 23:51 libncurses.so.5.9 lrwxrwxrwx 1 root root 18 Jul 11 14:49 libncursesw.so -> libncursesw.so.5.9 lrwxrwxrwx 1 root root 18 Oct 29 23:52 libncursesw.so.5 -> libncursesw.so.5.9 -rwxr-xr-x 1 root root 265140 Oct 29 23:51 libncursesw.so.5.9 atg@tortoise /lib64 $ ############## So, there is no reason on god's lush and bountious green world that I should be suffering through: ######################### make -f scripts/Makefile.build obj=scripts applets/usage_compressed include/usage_compressed.h applets applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h x86_64-pc-linux-gnu-gcc -Wp,-MD,applets/.usage_pod.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -Iinclude -Iinclude -o applets/usage_pod applets/usage_pod.c x86_64-pc-linux-gnu-gcc -Wp,-MD,applets/.applets.o.d -std=gnu99 -Iinclude -Ilibbb -include include/autoconf.h -D_GNU_SOURCE -DNDEBUG -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D"BB_VER=KBmake -f scripts/Makefile.build obj=scripts applets/usage_compressed include/usage_compressed.h applets applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h x86_64-pc-linux-gnu-gcc -Wp,-MD,applets/.usage_pod.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -Iinclude -Iinclude -o applets/usage_pod applets/usage_pod.c x86_64-pc-linux-gnu-gcc -Wp,-MD,applets/.applets.o.d -std=gnu99 -Iinclude -Ilibbb -include include/autoconf.h -D_GNU_SOURCE -DNDEBUG -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D"BB_VER=KBUILD_STR(1.23.0)" -DBB_BT=AUTOCONF_TIMESTAMP -O3 -march=native -pipe -fno-strict-aliasing -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -fno-unwind-tables -fno-asynchronous-unwind-tables -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(applets)" -D"KBUILD_MODNAME=KBUILD_STR(applets)" -c -o applets/applets.o applets/applets.c x86_64-pc-linux-gnu-gcc -nostdlib -nostdlib -lncurses -r -o applets/built-in.o applets/applets.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.4/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lncurses collect2: error: ld returned 1 exit status scripts/Makefile.build:264: recipe for target 'applets/built-in.o' failed make[1]: *** [applets/built-in.o] Error 1 Makefile:372: recipe for target 'applets_dir' failed make: *** [applets_dir] Error 2 * ERROR: sys-apps/busybox-1.23.0::gentoo failed (compile phase): * emake failed * UILD_STR(1.23.0)" -DBB_BT=AUTOCONF_TIMESTAMP -O3 -march=native -pipe -fno-strict-aliasing -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -fno-unwind-tables -fno-asynchronous-unwind-tables -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(applets)" -D"KBUILD_MODNAME=KBUILD_STR(applets)" -c -o applets/applets.o applets/applets.c x86_64-pc-linux-gnu-gcc -nostdlib -nostdlib -lncurses -r -o applets/built-in.o applets/applets.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.4/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lncurses collect2: error: ld returned 1 exit status scripts/Makefile.build:264: recipe for target 'applets/built-in.o' failed make[1]: *** [applets/built-in.o] Error 1 Makefile:372: recipe for target 'applets_dir' failed make: *** [applets_dir] Error 2 * ERROR: sys-apps/busybox-1.23.0::gentoo failed (compile phase): * emake failed * ####################### for many months now... This error is really driving me crazy because it should just work or at least give an actionable error message... Should I go symlink libncurses to every path on my entire computer? =P I have been contemplating that but then I would probably go crazy once I got the same error message I mean how much effort is ld actually expending to NOT find the specified library???? -- IQ is a measure of how stupid you feel. Powers are not rights. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils