On Fri, Dec 03, 2010 at 11:27:44AM +0100, Joachim Wiedorn wrote: > Lucas Nussbaum <lu...@lucas-nussbaum.net> wrote on 2010-12-03 10:36: > > > No, sorry. I must admit that I didn't spend any time investigating the > > failures. However, my irssi backlog says the two major changes in Ubuntu > > that could cause failures are: > > - --as-needed is now used by default by the linker > > - python2.7 > > Many packages (e.g. xfe, xfce-*) fails with > "[LD_ERROR] ...: could not read symbols: Invalid operation" > > I know that the Xfe package fails because Ubuntu use: > "-Bsymbolic-functions" by default by the linker. > > The reasons for the problems are redefinitions of some library functions > in the package. See: > https://bugs.launchpad.net/ubuntu/+source/xfe/+bug/644645 > > Unfortunately I don't know any workaround. All upstreams ought to rewrite > many parts of the source code to work with this default linker config.
So you're saying Ubuntu is using -Bsymbolic* *by default*? If so, that's even more retarded than their recent decision to enable -Wl,--as-needed by default, and that was a really bad decision by itself. -Bsymbolic breaks most of the advantages of ELF, since it prevents LD_PRELOAD and hides things from the global symbol namespace, even duplicating global stuff so you get bizarre and broken program behaviour, as you're seeing here... http://software.intel.com/en-us/articles/performance-tools-for-software-developers-bsymbolic-can-cause-dangerous-side-effects/ Upstreams should not need to rewrite their sources to work with Ubuntu's broken toolchain. Overriding symbols in other libraries is perfectly legitimate practice; that's the whole reason we have vauge/weak linkage and single instances of C++ typeinfo objects (for example). -Bsymbolic* breaks this. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `- GPG Public Key: 0x25BFB848 Please GPG sign your mail.
signature.asc
Description: Digital signature