GNOME Bugzilla – Bug 334769
nautilus fails link with older GNOME pre-installed
Last modified: 2007-02-19 18:17:49 UTC
Trying to link nautilus on SUSE 10.0 (with GNOME 2.12 installed into /opt/gnome) fails because libtool appears to expand -lglib-2.0 to /opt/gnome/lib/libglib-2.0.so which does not have the new (as of GNOME 2.14) memory allocators. To reproduce, install SUSE 10.0 with GNOME desktop and GNOME development headers, then adjust gar.conf.mk by adding this line early, generating the directory with owner of the GARNOME-build user and build with "cd desktop ; make paranoid-install" main_prefix = /opt/garnome-2.14 Here's the log. How can I debug libtool? Where does libtool get the idea it should be using /opt/gnome/lib/ for -lglib-2.0? BTW, adding FIXUP_SCRIPTS = $(WORKSRC)/libtool to desktop/nautilus/Makefile, as suggested in http://www.mail-archive.com/garnome-list@gnome.org/msg01989.html does not help. Same errors. make[5]: Entering directory `/space/tmp/garnome-2.14.0/desktop/nautilus/work/main.d/nautilus-2.14.0/src' /bin/sh ../libtool --tag=CC --mode=link ccache cc -I/opt/garnome-2.14/include -L/opt/garnome-2.14/lib -O2 -pipe -Wl,--export-dynamic -L/opt/garnome-2.14/lib -o nautilus nautilus-shell-interface-stubs.o nautilus-shell-interface-skels.o nautilus-shell-interface-common.o nautilus-application.o nautilus-bookmark-list.o nautilus-bookmarks-window.o nautilus-connect-server-dialog.o nautilus-connect-server-dialog-nonmain.o nautilus-desktop-window.o nautilus-emblem-sidebar.o nautilus-file-management-properties.o nautilus-first-time-druid.o nautilus-history-sidebar.o nautilus-image-properties-page.o nautilus-information-panel.o nautilus-location-bar.o nautilus-location-dialog.o nautilus-location-entry.o nautilus-main.o nautilus-navigation-action.o nautilus-navigation-bar.o nautilus-navigation-window-menus.o nautilus-navigation-window.o nautilus-notes-viewer.o nautilus-pathbar.o nautilus-places-sidebar.o nautilus-property-browser.o nautilus-query-editor.o nautilus-search-bar.o nautilus-self-check-functions.o nautilus-shell.o nautilus-side-pane.o nautilus-sidebar-title.o nautilus-signaller.o nautilus-spatial-window.o nautilus-throbber.o nautilus-window-bookmarks.o nautilus-window-manage-views.o nautilus-window-menus.o nautilus-window-toolbars.o nautilus-window.o nautilus-zoom-control.o ../src/file-manager/libnautilus-file-manager.la ../libnautilus-private/libnautilus-private.la ../cut-n-paste-code/gsequence/libgsequence.la -pthread -L/opt/garnome-2.14/lib -L/usr/X11R6/lib -leel-2 -lgailutil -lglade-2.0 -lrsvg-2 -lesd -laudiofile -lgnome-desktop-2 -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnome-keyring -lxml2 -lz -lgnomecanvas-2 -lgnome-2 -lpopt -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lXrandr -lXi -lXinerama -lXext -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lfontconfig -lXcursor -lXfixes -lpango-1.0 -lcairo -lXrender -lX11 -lgnomevfs-2 -lbonobo-2 -lgconf-2 -lgobject-2.0 -lbonobo-activation -lORBit-2 -lm -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 -lstartup-notification-1 -L/usr/X11R6/lib -lX11 -lexif -lm -lpopt ccache cc -I/opt/garnome-2.14/include -O2 -pipe -Wl,--export-dynamic -o .libs/nautilus nautilus-shell-interface-stubs.o nautilus-shell-interface-skels.o nautilus-shell-interface-common.o nautilus-application.o nautilus-bookmark-list.o nautilus-bookmarks-window.o nautilus-connect-server-dialog.o nautilus-connect-server-dialog-nonmain.o nautilus-desktop-window.o nautilus-emblem-sidebar.o nautilus-file-management-properties.o nautilus-first-time-druid.o nautilus-history-sidebar.o nautilus-image-properties-page.o nautilus-information-panel.o nautilus-location-bar.o nautilus-location-dialog.o nautilus-location-entry.o nautilus-main.o nautilus-navigation-action.o nautilus-navigation-bar.o nautilus-navigation-window-menus.o nautilus-navigation-window.o nautilus-notes-viewer.o nautilus-pathbar.o nautilus-places-sidebar.o nautilus-property-browser.o nautilus-query-editor.o nautilus-search-bar.o nautilus-self-check-functions.o nautilus-shell.o nautilus-side-pane.o nautilus-sidebar-title.o nautilus-signaller.o nautilus-spatial-window.o nautilus-throbber.o nautilus-window-bookmarks.o nautilus-window-manage-views.o nautilus-window-menus.o nautilus-window-toolbars.o nautilus-window.o nautilus-zoom-control.o -pthread -L/opt/garnome-2.14/lib ../src/file-manager/.libs/libnautilus-file-manager.a ../libnautilus-private/.libs/libnautilus-private.a /usr/lib/libbeagle.so -L/opt/gnome/lib /opt/gnome/lib/libgobject-2.0.so /opt/gnome/lib/libglib-2.0.so /usr/lib/libxml2.so /space/tmp/garnome-2.14.0/desktop/nautilus/work/main.d/nautilus-2.14.0/libnautilus-extension/.libs/libnautilus-extension.so -L/usr/X11R6/lib ../cut-n-paste-code/gsequence/.libs/libgsequence.a /opt/garnome-2.14/lib/libeel-2.so /opt/garnome-2.14/lib/libgnome-menu.so /opt/garnome-2.14/lib/libfam.so /opt/garnome-2.14/lib/libgailutil.so /opt/garnome-2.14/lib/libglade-2.0.so /opt/garnome-2.14/lib/librsvg-2.so /opt/garnome-2.14/lib/libgsf-1.so /usr/lib/libbz2.so /opt/garnome-2.14/lib/libcroco-0.6.so /opt/garnome-2.14/lib/libgnome-desktop-2.so /opt/garnome-2.14/lib/libgnomeui-2.so /usr/lib/libjpeg.so /opt/garnome-2.14/lib/libbonoboui-2.so /opt/garnome-2.14/lib/libgnome-keyring.so /opt/garnome-2.14/lib/libgnomecanvas-2.so /opt/garnome-2.14/lib/libgnome-2.so /opt/garnome-2.14/lib/libesd.so /usr/lib/libasound.so -lresmgr /opt/garnome-2.14/lib/libaudiofile.so /opt/garnome-2.14/lib/libart_lgpl_2.so /opt/garnome-2.14/lib/libgtk-x11-2.0.so /opt/garnome-2.14/lib/libgdk-x11-2.0.so -lXrandr -lXi -lXinerama -lXext /opt/garnome-2.14/lib/libatk-1.0.so /opt/garnome-2.14/lib/libgdk_pixbuf-2.0.so /opt/garnome-2.14/lib/libpangocairo-1.0.so /opt/garnome-2.14/lib/libpangoft2-1.0.so -lXcursor -lXfixes /opt/garnome-2.14/lib/libpango-1.0.so /opt/garnome-2.14/lib/libcairo.so -lpng12 /opt/garnome-2.14/lib/libfontconfig.so /usr/lib/libexpat.so /opt/garnome-2.14/lib/libfreetype.so /opt/garnome-2.14/lib/libXrender.so /opt/garnome-2.14/lib/libgnomevfs-2.so /opt/garnome-2.14/lib/libxml2.so -lz -lssl -lcrypto -lresolv -lutil -lrt /opt/garnome-2.14/lib/libbonobo-2.so /opt/garnome-2.14/lib/libgconf-2.so /opt/garnome-2.14/lib/libbonobo-activation.so /opt/garnome-2.14/lib/libORBitCosNaming-2.so /opt/garnome-2.14/lib/libORBit-2.so /opt/garnome-2.14/lib/libgobject-2.0.so /opt/garnome-2.14/lib/libgmodule-2.0.so -ldl /opt/garnome-2.14/lib/libgthread-2.0.so -lpthread /opt/garnome-2.14/lib/libglib-2.0.so /opt/garnome-2.14/lib/libstartup-notification-1.so -lSM -lICE -lX11 /usr/lib/libexif.so -lm /usr/lib/libpopt.so -Wl,--rpath -Wl,/opt/garnome-2.14/lib nautilus-emblem-sidebar.o: In function `nautilus_emblem_sidebar_get_type': nautilus-emblem-sidebar.c:(.text+0x1c): undefined reference to `g_intern_static_string' nautilus-emblem-sidebar.o: In function `nautilus_emblem_sidebar_register': nautilus-emblem-sidebar.c:(.text+0x192b): undefined reference to `g_intern_static_string' nautilus-history-sidebar.o: In function `nautilus_history_sidebar_get_type': nautilus-history-sidebar.c:(.text+0x1c): undefined reference to `g_intern_static_string' nautilus-history-sidebar.o: In function `nautilus_history_sidebar_register': nautilus-history-sidebar.c:(.text+0x6bb): undefined reference to `g_intern_static_string' nautilus-image-properties-page.o: In function `nautilus_image_properties_page_get_type': nautilus-image-properties-page.c:(.text+0x1c): undefined reference to `g_intern_static_string' nautilus-image-properties-page.o:nautilus-image-properties-page.c:(.text+0xc0b): more undefined references to `g_intern_static_string' follow ../libnautilus-private/.libs/libnautilus-private.a(nautilus-users-groups-cache.o): In function `cb_cache_entry_expired': nautilus-users-groups-cache.c:(.text+0xc3): undefined reference to `g_slice_free1' ../libnautilus-private/.libs/libnautilus-private.a(nautilus-users-groups-cache.o): In function `expiring_cache_get_value': nautilus-users-groups-cache.c:(.text+0x124): undefined reference to `g_slice_alloc' ../libnautilus-private/.libs/libnautilus-private.a(nautilus-users-groups-cache.o): In function `user_info_free': nautilus-users-groups-cache.c:(.text+0x1b3): undefined reference to `g_slice_free1' ../libnautilus-private/.libs/libnautilus-private.a(nautilus-users-groups-cache.o): In function `users_cache_get_value': nautilus-users-groups-cache.c:(.text+0x1ff): undefined reference to `g_slice_alloc' ../libnautilus-private/.libs/libnautilus-private.a(nautilus-search-engine-beagle.o): In function `nautilus_search_engine_beagle_get_type': nautilus-search-engine-beagle.c:(.text+0x2d): undefined reference to `g_intern_static_string' /opt/garnome-2.14/lib/libgnomevfs-2.so: undefined reference to `g_thread_pool_set_sort_function' /opt/garnome-2.14/lib/libpango-1.0.so: undefined reference to `g_slice_free_chain_with_offset' /opt/garnome-2.14/lib/libpangocairo-1.0.so: undefined reference to `g_slice_alloc0' collect2: ld returned 1 exit status make[5]: *** [nautilus] Fehler 1 make[5]: Leaving directory `/space/tmp/garnome-2.14.0/desktop/nautilus/work/main.d/nautilus-2.14.0/src'
Created attachment 61363 [details] failure log with libtool --debug I am attaching a bzip2-ed debug log of libtool's I obtained by adding "--debug" to LIBS in src/Makefile. Warning: the log decompresses to 10 MB!
*** Bug 334768 has been marked as a duplicate of this bug. ***
Thanks Matthias for bringing this up. And sorry for not responding earlier... I believe, this issue has been fixed quite a while ago. The cause of this build breakage should be a system wide installed beagle, which is an optional dependency for Nautilus. Nautilus configure automatically spotting and picking up the system beagle results in the system glib being pulled in, too. This has been fixed by explicitely looking for a GARNOME provided beagle only, and explicitely disable the optional beagle support, if it does not exist -- thus not pulling in the system libs. Matthias, if you can reproduce this issue with a recent GARNOME, please feel free to reopen this bug report immediately. Thanks!
FWIW, that fix went in before 2.14.1.1 (stable) and 2.15.2 (development branch) respectively.