Comment 19 for bug 598389

Revision history for this message
Loïc Minier (lool) wrote :

I tested http://people.canonical.com/~hrw/binutils-arm-linux-gnueabi_2.20.51.20100617-0ubuntu1_amd64.deb which is Marcin's latest build. It has the workaround I mentioned in comment #16 but it doesn't have the binutils patch mentionned here. As expected, it fixes the pcre3 FTBFS, but it doesn't fix the ncurses issue:
/usr/lib/gcc/arm-linux-gnueabi/4.4.4/../../../../arm-linux-gnueabi/bin/ld: warning: libdl.so.2, needed by ../lib/libncurses.so, not found (try using -rpath or -rpath-link)
../lib/libncurses.so: undefined reference to `dlsym@GLIBC_2.4'

So all expected so far.

I've test the binutils with the "hrw2" version with the ncurses snapshot I mentionned earlier, 5.7+20100626, and after updating the Debian patches to apply I can confirm it cross-builds fine. It does NOT cross-build with the above binutils though, due to missing link with -ldl:
arm-linux-gnueabi-gcc -I../progs -I/home/lool/ncurses/progs -DHAVE_CONFIG_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -I. -I../include -I/home/lool/ncurses/progs/../include -O2 -g --param max-inline-insns-single=1200 -fPIC -c /home/lool/ncurses/progs/transform.c -o ../obj_s/transform.o
arm-linux-gnueabi-gcc ../obj_s/tic.o ../obj_s/dump_entry.o ../obj_s/transform.o -Wl,-Bsymbolic-functions -I../progs -I/home/lool/ncurses/progs -DHAVE_CONFIG_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -I. -I../include -I/home/lool/ncurses/progs/../include -O2 -g --param max-inline-insns-single=1200 -fPIC -L../lib -ltic -L../lib -lncurses -o tic
/usr/lib/gcc/arm-linux-gnueabi/4.4.4/../../../../arm-linux-gnueabi/bin/ld: warning: libdl.so.2, needed by ../lib/libncurses.so, not found (try using -rpath or -rpath-link)
../lib/libncurses.so: undefined reference to `dlsym@GLIBC_2.4'
../lib/libncurses.so: undefined reference to `dlclose@GLIBC_2.4'
../lib/libncurses.so: undefined reference to `dlopen@GLIBC_2.4'
collect2: ld returned 1 exit status
make[2]: *** [tic] Error 1
make[2]: Leaving directory `/home/lool/ncurses/obj/progs'

I will attach the full ncurses build log for this failure.

What's odd is that the libncurses.so in the built tree is linked to libdl.so,
Conclusion: with latest ncurses, the patch to binutils to lookup libs in sysroot is needed (hrw2) and the kludge to add x86 support for libtool-based packages doesn't help. I don't think ncurses needs further fixing upstream.