On Thu, 2011-06-02 at 08:31 +0200, Martin Jansa wrote: > what do you have in configlog for LIBDL? > > here it's all empty > LIBDL='' > LIBDL_PREFIX='' > LTLIBDL='' > > if I add > + --with-libdl-prefix=${STAGING_DIR_HOST}${prefix} \ > + --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ > to EXTRA_OE_CONF (we already have couple of --with-*-prefix there) it's > found correctly (and this is at least better workarround then forcing > -ldl directly to LDFLAGS): > LIBDL='/OE/shr-core/tmp/sysroots/om-gta02/usr/lib/libdl.so' > LIBDL_PREFIX='/OE/shr-core/tmp/sysroots/om-gta02/usr' > LTLIBDL='-L/OE/shr-core/tmp/sysroots/om-gta02/usr/lib -ldl' > > same problem is with libpthread.. > > maybe their m4/lib-link.m4 does something wrong in > AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], > [ > AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) > AC_REQUIRE([AC_LIB_RPATH])
I just looked at the code in lib/configure and concluded that its just luck whether it figures out the correct values or does something really nasty. Its poking about ${libdir} for this stuff so you end up with something like the following combinations: a) 64 bit system with 64 bit libs in /usr/lib64 and no 32 bit libs: Finds no -ldl Something else may or may not link it indirectly so the build may or may not work. b) 64 bit system with 64 bit libs in /usr/lib64 and 32 bit libs in /usr/lib, building for 32 bit: Finds a -ldl which "works". Things appear to work. c) Other variations The correct fix would appear to be to set the paths specifically using the options Martin mentions above. Cheers, Richard _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core