[Bug 46417] Gabble shouldn't install an unversioned library to ${libdir}

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Feb 23 12:35:56 CET 2012


https://bugs.freedesktop.org/show_bug.cgi?id=46417

Simon McVittie <simon.mcvittie at collabora.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://cgit.freedesktop.org
                   |                            |/~smcv/telepathy-gabble/com
                   |                            |mit?h=make-library-sane-464
                   |                            |17
           Keywords|                            |patch

--- Comment #4 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2012-02-23 03:35:56 PST ---
(In reply to comment #2)
> It's possible that this is also causing crashes with non-default
> compiler/linker options (kenvandine reported <http://paste.ubuntu.com/853268/>,
> and I've seen a similar crash with ld -Bsymbolic).

It seems some Ubuntu releases do default to using gcc -Wl,-Bsymbolic-functions
to link:

https://bugs.launchpad.net/ubuntu/+source/lives/+bug/481085
https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/234901

This was deliberate (<https://wiki.ubuntu.com/DistCompilerFlags>), presumably
to speed up application startup (and possibly runtime speed) by reducing
relocations.

I can confirm that every Gabble test fails with "gcc
-Wl,-Bsymbolic,--no-add-needed,--warn-common,-z,now,--fatal-warnings" (which
basically means "please break my package if it does anything slightly
suspicious"). With my patch, the same compiler options work fine. I've amended
the commit message accordingly:

> Make libgabble-plugins.la a libtool convenience library on non-Windows,
> non-Android
>
> This avoids putting an unversioned shared library in the public library
> directory, which is discouraged. It also avoids crashes when linked with
> -Bsymbolic-functions (or -Bsymbolic), which result from having two copies of
> Wocky (one PIC/shared in libgabble-plugins.so, and one non-PIC/static in
> libgabble-convenience.la) which fight. -Bsymbolic-functions are the default on
> some Ubuntu releases, to reduce relocations. Without -Bsymbolic-functions, the
> non-PIC copy of Wocky in the executable takes precedence (the normal ELF ABI
> rules, which allow "interposing" symbols).

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.



More information about the telepathy-bugs mailing list