yelp failing to build with new ld linker

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

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.


Thank-You,
-- 
Roland Grunberg
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux