GNOME Bugzilla – Bug 348939
Compilation fails with LDFLAGS="-Wl,--as-needed"
Last modified: 2013-09-14 16:49:50 UTC
Please describe the problem: (cd .libs && rm -f libedataserverui-1.2.la && ln -s ../libedataserverui-1.2.la libedataserverui-1.2.la) if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../addressbook -I../addressbook -DG_LOG_DOMAIN=\"e-data-server-ui\" -DE_DATA_SERVER_UI_GLADEDIR=\""/usr/local/share/evolution-data-server-1.8/glade"\" -DORBIT2=1 -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libglade-2.0 -I/usr/include/libxml2 -I/usr/include/orbit-2.0 -I/usr/local/include/gconf/2 -I/usr/local/include/libgnome-2.0 -I/usr/local/include/libbonobo-2.0 -I/usr/local/include/gnome-vfs-2.0 -I/usr/local/lib/gnome-vfs-2.0/include -I/usr/local/include/bonobo-activation-2.0 -I/usr/local/include/gnome-keyring-1 -I/usr/X11/include -march=athlon-xp -O2 -pipe -ggdb -Wall -Wmissing-prototypes -Wno-sign-compare -MT test-source-selector.o -MD -MP -MF ".deps/test-source-selector.Tpo" -c -o test-source-selector.o test-source-selector.c; \ then mv -f ".deps/test-source-selector.Tpo" ".deps/test-source-selector.Po"; else rm -f ".deps/test-source-selector.Tpo"; exit 1; fi /bin/sh ../libtool --tag=CC --mode=link gcc -I/usr/X11/include -march=athlon-xp -O2 -pipe -ggdb -Wall -Wmissing-prototypes -Wno-sign-compare -Wl,--as-needed -o test-source-selector test-source-selector.o libedataserverui-1.2.la ../libedataserver/libedataserver-1.2.la -pthread -L/usr/local/lib -lglade-2.0 -lgtk-x11-2.0 -lxml2 -lz -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgnome-2 -lpopt -lbonobo-2 -lgnomevfs-2 -lbonobo-activation -lgconf-2 -lgobject-2.0 -lORBit-2 -lm -lgmodule-2.0 -ldl -lgthread-2.0 -lgnome-keyring -lglib-2.0 -lpthread gcc -I/usr/X11/include -march=athlon-xp -O2 -pipe -ggdb -Wall -Wmissing-prototypes -Wno-sign-compare -Wl,--as-needed -o .libs/test-source-selector test-source-selector.o -pthread ./.libs/libedataserverui-1.2.so /tmp/spb-evolution-data-server-4445/evolution-data-server/addressbook/libebook/.libs/libebook-1.2.so -L/usr/local/lib -L/usr/lib /tmp/spb-evolution-data-server-4445/evolution-data-server/camel/.libs/libcamel-1.2.so -L/usr/local/lib/firefox-1.5.0.4 -lnss3 -lsmime3 -lssl3 -lsoftokn3 /tmp/spb-evolution-data-server-4445/evolution-data-server/libedataserver/.libs/libedataserver-1.2.so ../libedataserver/.libs/libedataserver-1.2.so -lplds4 -lplc4 -lnspr4 /usr/lib/libglade-2.0.so -L/usr/X11R71/lib /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libpangocairo-1.0.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libfontconfig.so /usr/lib/libfreetype.so /usr/lib/libexpat.so /usr/lib/libglitz.so /usr/lib/libpng12.so /usr/X11R71/lib/libXrender.so /usr/X11R71/lib/libSM.so /usr/X11R71/lib/libICE.so /usr/X11R71/lib/libX11.so /usr/X11R71/lib/libXau.so /usr/X11R71/lib/libXdmcp.so /usr/local/lib/libgnome-2.so /usr/lib/libesd.so /usr/lib/libasound.so /usr/lib/libaudiofile.so /usr/local/lib/libbonobo-2.so /usr/local/lib/libgnomevfs-2.so /usr/lib/libxml2.so -lz /usr/lib/libdbus-glib-1.so -lssl -lcrypto /usr/lib/libavahi-glib.so /usr/lib/libavahi-client.so /usr/lib/libdbus-1.so -lnsl /usr/lib/libavahi-common.so -lresolv -lutil /usr/local/lib/libbonobo-activation.so /usr/lib/libORBitCosNaming-2.so /usr/local/lib/libgconf-2.so /usr/lib/libpopt.so /usr/lib/libORBit-2.so /usr/lib/libgobject-2.0.so -lm /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libgthread-2.0.so /usr/local/lib/libgnome-keyring.so /usr/lib/libglib-2.0.so -lpthread -Wl,--rpath -Wl,/usr/X11R71/lib ./.libs/libedataserverui-1.2.so: undefined reference to `gnome_keyring_item_create_sync' ./.libs/libedataserverui-1.2.so: undefined reference to `gnome_keyring_find_items_sync' ./.libs/libedataserverui-1.2.so: undefined reference to `glade_xml_get_widget' ./.libs/libedataserverui-1.2.so: undefined reference to `glade_xml_new' ./.libs/libedataserverui-1.2.so: undefined reference to `gnome_keyring_attribute_list_free' ./.libs/libedataserverui-1.2.so: undefined reference to `gnome_keyring_item_delete_sync' ./.libs/libedataserverui-1.2.so: undefined reference to `gnome_keyring_create_sync' ./.libs/libedataserverui-1.2.so: undefined reference to `gnome_keyring_get_default_keyring_sync' collect2: ld returned 1 exit status make[2]: *** [test-source-selector] Error 1 make[2]: Leaving directory `/tmp/spb-evolution-data-server-4445/evolution-data-server/libedataserverui' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/spb-evolution-data-server-4445/evolution-data-server' make: *** [all] Error 2 Steps to reproduce: 1. checkout from cvs 2. configure && make 3. Actual results: Expected results: Does this happen every time? Other information:
Created attachment 69737 [details] [review] This patch adds a missing dependency
in fact this is better: --- libedataserverui/Makefile.am.orig 2006-07-28 01:19:57.000000000 +0200 +++ libedataserverui/Makefile.am 2006-07-28 01:20:04.000000000 +0200 @@ -36,7 +36,7 @@ libedataserverui_1_2_la_LIBADD = \ $(top_builddir)/addressbook/libebook/libebook-1.2.la \ - $(E_DATA_SERVER_LIBS) + $(E_DATA_SERVER_UI_LIBS) libedataserverui_1_2_la_LDFLAGS = \ -version-info $(LIBEDATASERVERUI_CURRENT):$(LIBEDATASERVERUI_REVISION):$(LIBEDATASERVERUI_AGE) as I suppose that's why E_DATA_SERVER_UI_LIBS was defined, on the other hand just adding the gnome-keyring libs will not help tremendously, as ldd -r libedataserverui on shows so much undefined symbols (ranging from pango to gtk+), result may of course vary depending on the binutils version:)
I can confirm. This is surely a better solution, as it also takes care of --enable/disable gnome-keyring.
Fixed to HEAD. Thanks guys.