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

Reply via email to