reassign 556064 libxft-dev 2.1.12-3
retitle 556064 fontconfig incorrectly listed as a private library
thanks

As shown below, the patch introduced in #389831 incorrectly moved
fontconfig to Requires.private.  Thus, packages linking against Xft with
--no-add-needed (or binutils-gold) FTBFS.  This can also be verified by
seeing that many of the symbols defined by Xft are simply a #define of
XftFoo to FcFoo.

$ grep -n XftPattern /usr/include/X11/Xft/XftCompat.h
101:typedef FcPattern   XftPattern;
122:#define XftPatternCreate    FcPatternCreate
123:#define XftPatternDuplicate FcPatternDuplicate
126:#define XftPatternDestroy   FcPatternDestroy
127:#define XftPatternFind              FcPatternFind
128:#define XftPatternAdd               FcPatternAdd
129:#define XftPatternGet               FcPatternGet
130:#define XftPatternDel               FcPatternDel
131:#define XftPatternAddInteger        FcPatternAddInteger
132:#define XftPatternAddDouble FcPatternAddDouble
133:#define XftPatternAddString(p,e,s)  FcPatternAddString(p,e,(FcChar8 *)(s))
134:#define XftPatternAddMatrix FcPatternAddMatrix
135:#define XftPatternAddBool   FcPatternAddBool
136:#define XftPatternGetInteger        FcPatternGetInteger
137:#define XftPatternGetDouble FcPatternGetDouble
138:#define XftPatternGetString(p,e,i,n)        
FcPatternGetString(p,e,i,(FcChar8 **) (n))
139:#define XftPatternGetMatrix FcPatternGetMatrix
140:#define XftPatternGetBool   FcPatternGetBool
141:#define XftPatternVaBuild   FcPatternVaBuild
142:#define XftPatternBuild             FcPatternBuild

On Fri, Nov 13, 2009 at 11:05:41AM +0100, Peter Fritzsche wrote:
> Source: plt-scheme
> Version: 4.2.1-1
> Severity: minor
> User: peter.fritzs...@gmx.de
> Usertags: no-add-needed
> 
> Tried to build your package and it fails to build with GNU binutils-gold. The
> important difference is that --no-add-needed is the default behavior of of GNU
> binutils-gold. Please provide all needed libraries to the linker when building
> your executables.
> 
> Objects inside an .a archive aren't linked yet. This means that you must 
> resolve
> their symbols when linking to a program.
> 
> More informations can be found at
>  
> http://wiki.debian.org/qa.debian.org/FTBFS#A2009-11-02Packagesfailingbecausebinutils-gold.2BAC8-indirectlinking
> 
> g++ -L../../wxxt/utils/image/src -L../../wxxt/contrib/xpm/lib  
> -L../../mzscheme -L../wxs -L../../wxxt/src -o ../mred3m mrmain.o 
> ../libmred3m.a ../../mzscheme/libmzscheme3m.a -lSM -lICE -lXaw -lXmu -lXt 
> -lX11 -lXext  -lGL -lXrender -lXft   -lcairo   -lpng -lz -ljpeg -ldl -lm  
> -ldl -lm -rdynamic  ../../wxxt/contrib/xpm/lib/libXpm.a    
> /usr/bin/ld: ../libmred3m.a(Font.o): in function 
> wxLoadQueryNearestAAFont(char const*, int, double, double, int, int, int, 
> int, int, double):Font.cc(.text+0xf8d): error: undefined reference to 
> 'FcMatrixRotate'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function 
> wxLoadQueryNearestAAFont(char const*, int, double, double, int, int, int, 
> int, int, double):Font.cc(.text+0xfb8): error: undefined reference to 
> 'FcMatrixScale'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function 
> wxLoadQueryNearestAAFont(char const*, int, double, double, int, int, int, 
> int, int, double):Font.cc(.text+0x112e): error: undefined reference to 
> 'FcPatternBuild'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function 
> wxLoadQueryNearestAAFont(char const*, int, double, double, int, int, int, 
> int, int, double):Font.cc(.text+0x11b9): error: undefined reference to 
> 'FcPatternBuild'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function wxGetCompleteFaceList(int*, 
> int):Font.cc(.text+0x31fe): error: undefined reference to 'FcFontSetDestroy'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function doFindAAFont(_XDisplay*, 
> _XftFont*, int, int*):Font.cc(.text+0x345e): error: undefined reference to 
> 'FcPatternGetInteger'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function doFindAAFont(_XDisplay*, 
> _XftFont*, int, int*):Font.cc(.text+0x3496): error: undefined reference to 
> 'FcPatternGetInteger'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function doFindAAFont(_XDisplay*, 
> _XftFont*, int, int*):Font.cc(.text+0x34dc): error: undefined reference to 
> 'FcPatternGetInteger'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function doFindAAFont(_XDisplay*, 
> _XftFont*, int, int*):Font.cc(.text+0x3512): error: undefined reference to 
> 'FcPatternGetInteger'
> /usr/bin/ld: ../libmred3m.a(Font.o): in function doFindAAFont(_XDisplay*, 
> _XftFont*, int, int*):Font.cc(.text+0x366d): error: undefined reference to 
> 'FcPatternBuild'
> collect2: ld returned 1 exit status
> make[6]: *** [../mred3m] Error 1

-- 
James
GPG Key: 1024D/61326D40 2003-09-02 James Vega <james...@debian.org>

Attachment: signature.asc
Description: Digital signature

Reply via email to