[Pkg-ime-devel] Bug#605418: fcitx: FTBFS with binutils-gold with undefined references when linked with --as-needed

Fabrice Coutadeur fabricesp at ubuntu.com
Mon Nov 29 19:58:05 UTC 2010

Package: fcitx
Version: 1:3.6.4-1
Severity: wishlist
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu natty ubuntu-patch


When linked with binutils-golds, the following compilation errors appears:
gcc -O2 -fno-strength-reduce -g -O2   -D_ENABLE_TRAY    -I/usr/include/freetype2   -D_USE_XFT -Wall -lXpm -lXtst -lpthread -ldl -lXext -Wl,-Bsymbolic-functions -o fcitx IC.o ime.o InputWindow.o KeyList.o main.o MainWindow.o MyErrorsHandlers.o punc.o py.o PYFA.o pyMapTable.o pyParser.o sp.o tools.o ui.o table.o xim.o qw.o tray.o TrayWindow.o DBus.o vk.o about.o QuickPhrase.o AutoEng.o extra.o internalVersion.o ImeRemote.o ../lib/libXimd.a -lXft   -lX11 
/usr/bin/ld: TrayWindow.o: undefined reference to symbol 'XRenderComposite'
/usr/bin/ld: note: 'XRenderComposite' is defined in DSO /usr/lib/libXrender.so.1 so try adding it to the linker command line
collect2: ld returned 1 exit status

After adding -lXrender to LDADD, more errors happens, making necessary moving
some libraries from LDFLAGS to LDADD.

This is the resulting patch, that makes it buildable in Ubuntu:
*** /tmp/tmp6161JJ

We thought you might be interested in doing the same. 



-- System Information:
Debian Release: squeeze/sid
  APT prefers maverick-updates
  APT policy: (500, 'maverick-updates'), (500, 'maverick-security'), (500, 'maverick-proposed'), (500, 'maverick')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.35-23-generic (SMP w/2 CPU cores)
Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tmpJKTWlO
Type: text/x-diff
Size: 1153 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-ime-devel/attachments/20101129/55027ac5/attachment.diff>

More information about the Pkg-ime-devel mailing list