gtk+ 2.4.13 not compiling with vanilla pango 1.6.0



Hi,

I have built pango 1.6.0 successfully without any problem with 
--prefix=/opt/gnome28 and was now building gtk+ 2.4.13.

The ./configure fails with this error :
checking Pango flags... -I/opt/gnome28/include/pango-1.0 
-I/usr/X11R6-xorg/include -I/usr/include/freetype2 
-I/usr/include/freetype2/config -I/opt/gnome28/include/glib-2.0 
-I/opt/gnome28/lib/glib-2.0/include   -Wl,--export-dynamic -L/opt/gnome28/lib 
-lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl 
-lglib-2.0  
configure: error:
*** Can't link to Pango. Pango is required to build
*** GTK+. For more information see http://www.pango.org

Investigating a bit the config.log, here is what appears :
configure:29754: gcc -o conftest -g -O2 -Wall -I/opt/gnome28/include/pango-1.0 -I/usr/X11R6-xorg/include -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/opt/gnome28/include/glib-2.0 -I/opt/gnome28/lib/glib-2.0/include     conftest.c -Wl,--export-dynamic -L/opt/gnome28/lib -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0     >&5
/usr/lib/gcc-lib/i686-unknown-linux-gnu/3.3.3/../../../../i686-unknown-linux-gnu/bin/ld: warning: libpangoft2-1.0.so.0, needed by /opt/gnome28/lib/libpangoxft-1.0.so, not found (try using -rpath or -rpath-link)
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_map_cache_clear'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_map_get_type'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_map_create_context'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_map_shutdown'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_get_type'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_lock_face'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_has_char'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_get_glyph'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_get_unknown_glyph'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_get_raw_extents'
/opt/gnome28/lib/libpangoxft-1.0.so: undefined reference to `pango_fc_font_unlock_face'
collect2: ld returned 1 exit status

So it seems that libpangoxft depends on libpangoft2 but libpangoft2 is not
called during link.
I got this /opt/gnome28/lib/pkgconfig/pangoxft.pc :
prefix=/opt/gnome28
exec_prefix=${prefix}
libdir=/opt/gnome28/lib
includedir=/opt/gnome28/include

Name: Pango Xft
Description: Xft font support for Pango
Version: 1.6.0
Requires: pango
Libs: -L${libdir} -lpangoxft-1.0 
Cflags: -I${includedir}/pango-1.0 -I/usr/X11R6-xorg/include -I/usr/include/freetype2 -I/usr/include/freetype2/config  

One can see that pangoft2 does not appear on the Requires line.
If I change the Requires line to something like that :
Requires: pango,pangoft2
then gtk+ compiles fine :
[...]
checking Pango flags... -I/opt/gnome28/include/pango-1.0 -I/usr/X11R6-xorg/inclu
de -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/opt/gnome28/inclu
de/glib-2.0 -I/opt/gnome28/lib/glib-2.0/include   -Wl,--export-dynamic -L/opt/gn
ome28/lib -lpangoxft-1.0 -lpangoft2-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -
lgmodule-2.0 -ldl -lglib-2.0  
checking ATK flags... -I/opt/gnome28/include/atk-1.0 -I/opt/gnome28/include/glib
-2.0 -I/opt/gnome28/lib/glib-2.0/include   -Wl,--export-dynamic -L/opt/gnome28/l
ib -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  
[...]

I don't know if the error comes from the missing reference to pangoft2 in the
pangoxft.pc or from the building process of gtk+ but I don't think it is very
clean to have to hack the pangoxft.pc by hand to have gtk+ compile fine.

Any hints on the reasons of this situation ?

Thanks in advance,

 /mathieu




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]