inkscape-0.48.4 uses pangoft2 but does not explicitly link it in
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
High
|
Michael Weiser |
Bug Description
src/libnrtype/
linux:~# pkg-config --libs gtk+-2.0
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0
If GTK is running with another backend, it might not use pangoft2 or fontconfig and therefore not link against them:
macosx108:~ # pkg-config --libs gtk+-2.0
-framework Carbon -lgtk-quartz-2.0 -lgdk-quartz-2.0 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl
(-lpangoft2-1.0 and -lfontconfig are missing)
With my Gentoo prefix portage setup on Mac OS X 10.8 with GTK compiled with Quartz backend this results in link errors such as this:
Undefined symbols for architecture x86_64:
"_pango_
Inkscape:
"_FcPatternGe
Inkscape:
"_FcPatternAd
FactorySu
"_pango_
font_
"_pango_
font_
"_pango_
font_
"_pango_
font_
"_pango_
font_
font_
ld: symbol(s) not found for architecture x86_64
The attached patch fixes this for me by explicitly pulling in the pangoft2 libs via pkg-config --libs in configure. This also takes care of fontconfig:
macosx108:~ # pkg-config --libs pangoft2
-lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lintl -lfreetype -lfontconfig
The whole issue might indicate that it would be better not to use pangtoft2 on Mac OS X with Quartz as GTK backend at all but I lack the knowledge to tell for sure or even provide an alternative.
Related branches
tags: | removed: backport-proposed |
Changed in inkscape: | |
status: | Fix Committed → Fix Released |
Note that this issue was fixed in trunk in lp:inkscape r12098. Backport needed