[OE-core] [PATCH 3/3] gnutls: link against 'dl' library

Martin Jansa martin.jansa at gmail.com
Thu Jun 2 06:31:30 UTC 2011


On Wed, Jun 01, 2011 at 03:19:18PM -0700, Saul Wold wrote:
> On 06/01/2011 02:52 PM, Martin Jansa wrote:
> > On Wed, Jun 01, 2011 at 02:43:53PM -0700, Saul Wold wrote:
> >> On 06/01/2011 02:00 PM, Otavio Salvador wrote:
> >>> On Wed, Jun 1, 2011 at 20:53, Phil Blundell<pb at pbcl.net>   wrote:
> >>>> On Wed, 2011-06-01 at 20:39 +0000, Otavio Salvador wrote:
> >>>>> Are you able to reproduce it?
> >>>>
> >>>> No, it works fine for me.  I get:
> >>>>
> >>>> checking how to link with libpthread... -lpthread
> >>>> checking for libdl... yes
> >>>> checking how to link with libdl... -ldl
> >>>> checking whether we are using the GNU C++ compiler... yes
> >>>>
> >>>> This is with the current head of oe-core on qemuarm.
> >>>
> >>> I am building for i586 but I doubt it is related.
> >>>
> >>> I get:
> >>>
> >>> checking for libpthread... yes
> >>> checking how to link with libpthread... /usr/lib/libpthread.so
> >>> checking for libdl... no
> >>> checking whether we are using the GNU C++ compiler... yes
> >>>
> >> I also built for x86 and beagle, both have libdl, can you check that you
> >> do not have some kind of site configuration that is overriding, also
> >> maybe post your log from .../gnutls-2.12.5/lib/config.log
> >
> > here it tries to link against host libdl
> >
> > configure:26050: checking for libdl
> > configure:26069: arm-oe-linux-gnueabi-gcc -march=armv4t -mtune=arm920t
> > --sysroot=/OE/shr-core/tmp/sysroots/om-gta02 -o conftest -O2 -pipe -g
> > -feliminate-unused-debug-types
> > -I/OE/shr-core/tmp/sysroots/om-gta02/usr/include -Wl,-O1
> > -Wl,--as-needed conftest.c  /usr/lib/libdl.so>&5
> > /usr/lib/libdl.so: file not recognized: File format not recognized
> > collect2: ld returned 1 exit status
> >
> Well that's interesting, since I see it linking using -ldl, there must 
> be some other setting that's affecting this, I have been looking in 
> gnutls to see if I can find something else that sets libdl.so vs -ldl,
> I have not found it.
> 
> configure:26075: i586-poky-linux-gcc -march=i586 
> --sysroot=/builds/world/tmp/sysroots/qemux86 -o conftest -O2 -pipe -g 
> -feliminate-unused-debug-types 
> -I/builds/world/tmp/sysroots/qemux86/usr/include -Wl,-O1 
> -Wl,--as-needed conftest.c  -ldl >&5
> configure:26075: $? = 0
> configure:26085: result: yes
> configure:26092: checking how to link with libdl
> configure:26094: result: -ldl

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])

Regards,
-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com


More information about the Openembedded-core mailing list