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.
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: 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) libncurses. so: undefined reference to `dlsym@GLIBC_2.4'
/usr/lib/
../lib/
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: 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 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 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) libncurses. so: undefined reference to `dlsym@GLIBC_2.4' libncurses. so: undefined reference to `dlclose@GLIBC_2.4' libncurses. so: undefined reference to `dlopen@GLIBC_2.4' lool/ncurses/ obj/progs'
arm-linux-
arm-linux-
/usr/lib/
../lib/
../lib/
../lib/
collect2: ld returned 1 exit status
make[2]: *** [tic] Error 1
make[2]: Leaving directory `/home/
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.