FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.

» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Development

LinkBack Thread Tools
Old 01-25-2010, 03:29 PM
Roland Grunberg
Default yelp failing to build with new ld linker


Upon doing a mock build of yelp-2.28.1-2.fc13 with the new version of binutils
(containing the proposed DSO link changes to ld) from
http://roland.fedorapeople.org/ld-test/, the build fails.

/usr/bin/ld.bfd: /usr/lib/xulrunner-sdk-1.9.2/lib/libxpcomglue.a(nsGlueLinkingDlopen.o): undefined reference to symbol 'dlopen@@GLIBC_2.1'
/usr/bin/ld.bfd: note: 'dlopen@@GLIBC_2.1' is defined in DSO /usr/lib/gcc/i686-redhat-linux/4.4.3/../../../libdl.so so try adding it to the linker command line

In the linker line we can see "-ldl -lxpcomeglue" present. -lxpcomglue uses
symbols from -ldl, while yelp does not. Since -lxpcomglue is a static library,
the -ldl was added to satisfy this.

The problem is with the order in which libraries are declared. Since -ldl is
declared before -lxpcomglue in the link line, and since nothing in yelp uses
symbols from -ldl, it is dropped at that point leaving -lxpcomglue with undefined
symbols from -ldl.

The following potential solutions were proposed by Roland McGrath to this issue :

Rearranging the link line would fix this ("-lxpcomglue -ldl"), or
xulrunner-devel could add a libxpcomglue.so linker script containing :

AS_NEEDED ( libxpcomglue.a -ldl )

This way any package using -lxpcomglue would not need to know whether
it is a shared/static library, and what other libraries it makes use of.

Roland Grunberg
devel mailing list

Thread Tools

All times are GMT. The time now is 09:41 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org