GNOME Bugzilla – Bug 748124
build failure
Last modified: 2015-05-09 00:28:26 UTC
On Ubuntu, probably caused by linking with --as-needed libtool: link: gcc -shared -fPIC -DPIC .libs/gc.o -Wl,--whole-archive ./../gllib/.libs/libgnu.a -Wl,--no-whole-archive -lgtk-3 -lgdk-3 -lpangocairo-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lunistring -O2 -Wl,-Bsymbolic-functions -Wl,-z -Wl,relro -Wl,-z -Wl,defs -Wl,-O1 -Wl,--as-needed -Wl,-soname -Wl,libgc.so -o .libs/libgc.so .libs/gc.o: In function `gc_pango_context_font_has_glyph': /usr/local/src/gnome3-staging/gnome316/Noskcaj/gnome-characters-3.16.1b/lib/gc.c:808: undefined reference to `pango_fc_font_get_type' /usr/local/src/gnome3-staging/gnome316/Noskcaj/gnome-characters-3.16.1b/lib/gc.c:812: undefined reference to `pango_fc_font_has_char' collect2: error: ld returned 1 exit status Makefile:536: recipe for target 'libgc.la' failed make: *** [libgc.la] Error 1
Created attachment 301918 [details] [review] Fix build failure due to missing symbols form pangoft2
Created attachment 301919 [details] [review] Fix build failure due to missing symbols from pangoft2
Review of attachment 301919 [details] [review]: ::: configure.ac @@ +82,3 @@ AC_SUBST(GLIB_COMPILE_RESOURCES) +PKG_CHECK_MODULES([LIBGC], [gio-2.0 gtk+-3.0 pango pangoft2]) I think pangoft2 is not always available. Could you make the check optional? Ideally, the application shouldn't call the pango_fc_* functions, but I couldn't find a way to detect whether a font contains a Unicode character, except pango_layout_get_unknown_glyphs_count, which is way too slow even with font fallback disabled.
Created attachment 301958 [details] [review] Fix build failure due to missing symbols from pangoft2 make the use of pangoft2 optional
Review of attachment 301958 [details] [review]: Thanks, looks good (sorry for the delay). ::: configure.ac @@ +96,3 @@ + AC_DEFINE([HAVE_PANGOFT2],[1],[Define if you want to enable pangoft2 support]) +]) +AM_CONDITIONAL([HAVE_PANGOFT2],[test "$have_pangoft2" = "yes"]) This conditional is not necessary.
Created attachment 303065 [details] [review] Fix build failure due to missing symbols from pangoft2
new patch with conditional dropped.
Attachment 303065 [details] pushed as b096177 - Fix build failure due to missing symbols from pangoft2