GNOME Bugzilla – Bug 77341
Segfaults from pango-querymodules.
Last modified: 2004-12-22 21:47:04 UTC
pango-1.0.1 build/install fails because pango-querymodules segfaults. building with gcc-3.0.4 and default options (-g -O2), using: ./configure --enable-static --enable-shared --enable-debug=no gmake results in failure (see screen output below), so that pango-1.0.1 also can not be installed. Because of this, also gtk+-2.0.1 can't be confugured and build (requires pango-1.0.1) previous version (pango-1.0.0) worked, and gtk+-2.0.0 could be built. gmake output: ... ... ... mkdir .libs gcc -g -O2 -Wall -D_REENTRANT -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -o pangoft2topgm pangoft2topgm.o -L/usr/local/links/lib -L/usr/local/lib ../pango/.libs/libpango-1.0.so ../pango/.libs/libpangoft2-1.0.so /_mnt/hd2/package/gtk/src/pango-1.0.1-O2/pango/.libs/libpango-1.0.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgmodule-2.0.so /usr/local/lib/libglib-2.0.so /usr/local/lib/libfreetype.so -Wl,--rpath -Wl,/_mnt/hd2/package/gtk/src/pango-1.0.1-O2/pango/.libs -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/links/lib if find ../modules -name '*.so' | grep 'so' > /dev/null ; then \ echo "Writing a pango.modules file to use when running examples before installing Pango."; \ (cd ../modules && \ ../pango/pango-querymodules `find . -name '*.la' | grep -v \.libs` > ../examples/pango.modules ) ;\ else \ echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \ touch pango.modules; \ fi Writing a pango.modules file to use when running examples before installing Pango. gmake[2]: *** [pango.modules] Segmentation Fault gmake[2]: *** Deleting file `pango.modules' gmake[2]: Leaving directory `/_mnt/hd2/package/gtk/src/pango-1.0.1-O2/examples' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/_mnt/hd2/package/gtk/src/pango-1.0.1-O2' gmake: *** [all-recursive-am] Error 2
update: bug is probably in glib-2.0.1, not in pango-1.0.1. reason: pango-1.0.0 fails with same error when glib-2.0.1 is installed (but works with glib-2.0.0)
see glib bug report # 77358
Strange, a bug of this nature should have been *fixed* between 2.0.0 and 2.0.1. Does it workif you build GLib with libiconv instead of native iconv?
after installation of GNU libiconv-1.7 and configuring and installing glib-1.0.1 with libiconv, pango-1.0.1 builds alright, and 'make check' passes. ('make check' in glib-2.0.1 still fails and segfaults on some tests, though. But this was already in 2.0.0) Still, should it not work also with native iconv, especially since it worked for 1.0.0? (and by the way, why does 1.0.1 install in a directory called 1.0.0? ;-)
*** Bug 77693 has been marked as a duplicate of this bug. ***
received additional info from Thomas Klausner - wiz@danbala.tuwien.ac.at appending this here for him because he can't: Hi! I recently encountered the same problem when compiling pango on NetBSD-1.5ZC, with XFree86-4.1.0 installed. The proposed workaround with --with-libiconv=gnu does not work for me. The problem does not appear on a similar machine which has XFree86-3.3.6 installed. The problem seems to be that g_get_charset in g_print (in gmessages.c in glib-2.0.1) returns "646" as charset, and strdup_convert fails to convert the string "/home/wiz/cvs/pkgsrc/devel/pango/work/pango-1.0.1/modules/./arabic/pango-arabic-x.la ArabicScriptEngineX PangoEngineShape PangoRenderX " with "646" as argument and just returns a NULL pointer, which g_print does not check. I don't know how to append this information to the bug report, so it's CC'd to the three email addresses found there. Bye, Thomas -- Thomas Klausner - wiz@danbala.tuwien.ac.at When all other means of communication fail, try words.
Thomas Klausner's problem is most likely unrelated, I've filed part of it as bug 78197. (I'm quite puzzled though as to why g_get_charset() should return 646 ... $(libdir)/charset.alias should contain a line '646 ASCII' that aliases the result that the system returns to the proper name. For the Solaris bug, I really need a stack trace of the crash to proceed further.
I'm fixing the immediate problems in Pango by making pango-querymodules use printf() rather than g_print(). g_print() segfaulting is convered by bug 77358, bug 78197 Mon May 13 12:06:35 2002 Owen Taylor <otaylor@redhat.com> * pango/querymodules.c: Use printf() rather than g_print, since we don't want encoding conversion.