fails to build with ld --as-needed
Brought to you by:
dov-g
the use of automake and pkg-config is wrong leading to a build failure with the linker flag --as-needed
the pango libraries are added in LDFLAGS but they should be in LDADD
this requires proper use of pkg-config via PKG_CHECK_MODULES in configure.in
attached a patch which fixes this issue.
Another related issue. libpaps.so is underlinked leading to problems when linking other programs to it with as needed.
See:
http://wiki.mandriva.com/en/Underlinking_issues_in_packaging
ldd -r /usr/lib/libpaps.so
undefined symbol: g_free (/usr/lib/libpaps.so)
undefined symbol: g_str_equal (/usr/lib/libpaps.so)
undefined symbol: g_str_hash (/usr/lib/libpaps.so)
undefined symbol: pango_ft2_font_get_face (/usr/lib/libpaps.so)
undefined symbol: pango_layout_get_line_count (/usr/lib/libpaps.so)
undefined symbol: g_string_new (/usr/lib/libpaps.so)
undefined symbol: FT_Load_Glyph (/usr/lib/libpaps.so)
undefined symbol: g_hash_table_lookup (/usr/lib/libpaps.so)
undefined symbol: pango_layout_get_line (/usr/lib/libpaps.so)
undefined symbol: FT_Done_Glyph (/usr/lib/libpaps.so)
undefined symbol: g_string_free (/usr/lib/libpaps.so)
undefined symbol: g_hash_table_new_full (/usr/lib/libpaps.so)
undefined symbol: FT_Outline_Decompose (/usr/lib/libpaps.so)
undefined symbol: FT_Get_Glyph (/usr/lib/libpaps.so)
undefined symbol: g_string_truncate (/usr/lib/libpaps.so)
undefined symbol: g_hash_table_insert (/usr/lib/libpaps.so)
undefined symbol: g_string_append_printf (/usr/lib/libpaps.so)
undefined symbol: g_string_append (/usr/lib/libpaps.so)
undefined symbol: g_malloc0 (/usr/lib/libpaps.so)
undefined symbol: g_strdup (/usr/lib/libpaps.so)
undefined symbol: pango_ft2_get_context (/usr/lib/libpaps.so)
undefined symbol: pango_layout_line_get_extents (/usr/lib/libpaps.so)
this patch should fix it:
Index: paps-0.6.8/src/Makefile.am
===================================================================
--- paps-0.6.8.orig/src/Makefile.am 2011-07-29 23:45:42.000000000 +0200
+++ paps-0.6.8/src/Makefile.am 2011-07-29 23:45:42.000000000 +0200
@@ -1,6 +1,7 @@
man_MANS = paps.1
lib_LTLIBRARIES = libpaps.la
libpaps_la_SOURCES = libpaps.c
+libpaps_la_LIBADD = -lfreetype -lglib-2.0 $(PANGO_LIBS)
libpapsinc_HEADERS = libpaps.h
libpapsincdir = $(includedir)