[OE-core] [PATCH 1/1] xserver: force to use libdl

Richard Purdie richard.purdie at linuxfoundation.org
Sat May 28 08:07:05 UTC 2011


On Sat, 2011-05-28 at 12:45 +0800, Yu Ke wrote:
> The marco in question is in xorg-server-1.10.1/configure.ac
> "
> AC_CHECK_FUNC([dlopen], [],
>      AC_CHECK_LIB([dl], [dlopen], DLOPEN_LIBS="-ldl"))
> AC_SUBST(DLOPEN_LIBS)
> "
> 
> Ideally, the dlopen test should fail since dlopen is not available in 
> libc, and then DLOPEN_LIBS="-ldl" is executed. In this case, the later 
> build will correctly link libdl. qemux86 fall into this case.
> 
> But in ppc case, the dlopen test unfortunately pass, and DLOPEN_LIBS 
> become "", which caused later linker error of unresolved dlopen 
> reference. but I did not yet understand why ppc is so special.
> 
> For detail, I've attached two config.log, one for ppc, one for qemux86.
> in ppc,
> configure:15235: checking for dlopen
> configure:15235: result: yes

Thanks. If you look at config.log you'll see this near the top:

| #modphp 
| ac_cv_c_bigendian_php=${ac_cv_c_bigendian_php=yes}
| ac_cv_sizeof_ptrdiff_t=${ac_cv_sizeof_ptrdiff_t=4}
| ac_cv_func_dlopen=${ac_cv_func_dlopen=yes}
| lt_cv_dlopen_self=${lt_cv_dlopen_self=yes}

and then if you look at the configure script for the xserver you'll see
${ac_cv_func_dlopen} being set to yes is likely triggering the bad
result.

These are coming from the powerpc site files:

richard at rex:poky/meta/site$ grep dlopen * -r
powerpc-common:ac_cv_func_dlopen=${ac_cv_func_dlopen=yes}
powerpc-common:lt_cv_dlopen_self=${lt_cv_dlopen_self=yes}

and I suspect if you remove those two lines, things will work a lot
better!

Only powerpc has the broken site file which is why only powerpc is
affected.

Cheers,

Richard





More information about the Openembedded-core mailing list