Thursday, March 01, 2007

GNOME Build Bot

I noticed that builds of at least seahorse, gnome-applets, and gnome-power-manager are failing with the following error:
/home/gnomeslave/gnome/work/bin/lib/libpangoft2-1.0.so: undefined reference to `pango_font_description_get_gravity'
/home/gnomeslave/gnome/work/bin/lib/libpangoft2-1.0.so: undefined reference to `pango_layout_get_lines_readonly'
/home/gnomeslave/gnome/work/bin/lib/libgthread-2.0.so: undefined reference to `g_thread_gettime'
/home/gnomeslave/gnome/work/bin/lib/libpangoft2-1.0.so: undefined reference to `pango_font_description_set_gravity'
/home/gnomeslave/gnome/work/bin/lib/libpangoft2-1.0.so: undefined reference to `pango_gravity_get_type'

If anyone knows how to fix this, please let me know.

2 comments:

Unknown said...

Hi Adam,

The problem is the order in which
libraries are added when linking, so for example, to fix the first error
need to know which library provides `pango_font_description_get_gravity'. In this case it is libpango-1.0.so:

$ nm /home/gnomeslave/gnome/work/bin/lib/libpango-1.0.so | grep pango_font_description_get_gravity
T pango_font_description_get_gravity

Now, to fix the problem look at the compilation line, you'll see that /home/gnomeslave/gnome/work/bin/lib/libpangoft2-1.0.so
is before /home/gnomeslave/gnome/work/bin/lib/libpango-1.0, right?

Well, just swap them and it will link properly.

Richard Hughes said...

I'm the gnome-power-manager guy. Have you got an example of the patch used to fix this? Is it a gnome-buildbot problem or the application problem? Thanks.