GNOME Bugzilla – Bug 660579
FTBFS: libyelp-scan segfaults when when no dbus session running
Last modified: 2012-01-20 20:46:24 UTC
Version: 3.2.0 When compiling yelp with --enable-gtk-doc in build chroot (no X or dbus session), the build fails: gtk-doc: Linking scanner libtool: link: gcc -Wall -Wno-uninitialized -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -g -O2 .libs/libyelp-scan.o -pthread -o .libs/libyelp-scan -lbz2 -llzma /usr/lib/libexslt.so /usr/lib/libxslt.so /usr/lib/libxml2.so /usr/lib/libsqlite3.so -lwebkitgtk-3.0 -lgtk-3 -lsoup-2.4 -lgdk-3 /usr/lib/i386-linux-gnu/libatk-1.0.so /usr/lib/libcairo-gobject.so -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 /usr/lib/libcairo.so -lpango-1.0 /usr/lib/i386-linux-gnu/libfreetype.so -lfontconfig /usr/lib/libgio-2.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so ../../libyelp/.libs/libyelp.so -pthread gtk-doc: Running scanner libyelp-scan (process:17131): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed Segmentation fault Scan failed: make[3]: *** [scan-build.stamp] Error 139 make[3]: Leaving directory `/tmp/buildd/yelp-3.2.0/docs/libyelp' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/buildd/yelp-3.2.0/docs' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/buildd/yelp-3.2.0' make: *** [all] Error 2 Running inside gdb, I get: (gdb) run Starting program: /tmp/buildd/yelp-3.2.0/docs/libyelp/.libs/libyelp-scan [Thread debugging using libthread_db enabled] [New Thread 0xb4370b70 (LWP 17222)] [New Thread 0xb3a0cb70 (LWP 17223)] (process:17219): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed Program received signal SIGSEGV, Segmentation fault. 0xb5e38c37 in yelp_settings_constructed (object=0x8072038) at yelp-settings.c:255 255 g_warning ("Unable to connect to dbus: %s", error->message); (gdb) bt full
+ Trace 228657
(In reply to comment #0) > yelp-settings.c:255 > 255 g_warning ("Unable to connect to dbus: %s", error->message); Inside the build chroot, no dbus session bus was running and DISPLAY is not set. Running "dbus-launch make" makes libyelp-scan finish successfully. This is obviously only a workaround and no solution. The package should be buildable without a running dbus session bus.
Created attachment 197939 [details] [review] Pass &error to g_bus_get_sync () so it is set when used later
ping?
Sorry, missed this. Patch is pretty obvious. Please push to master.
(In reply to comment #4) > Sorry, missed this. Patch is pretty obvious. Please push to master. Done