GNOME Bugzilla – Bug 570393
gnome-keyring 2.25.90 does not like -Wl,-z,defs -Wl,--as-needed
Last modified: 2009-02-07 18:32:12 UTC
Please describe the problem: During the building of the ubuntu package for the 2.25.90 version of gnome-keyring, we require the following LDFLAGS := -Wl,-O1 -Wl,-z,defs -Wl,--as-needed But the flags : -Wl,-z,defs -Wl,--as-needed are creating a compilation issue : libtool: link: cc -shared .libs/gck-roots-standalone.o -Wl,--whole-archive ./.libs/libgck-roots-store.a ../../pkcs11/gck/.libs/libgck.a ../../egg/.libs/libegg-buffer.a ../../egg/.libs/libegg-secure.a -Wl,--no-whole-archive -Wl,--as-needed /usr/lib/libgobject-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/libtasn1.so /lib/libgcrypt.so -Wl,-O1 -Wl,-z -Wl,defs -pthread -pthread -Wl,-soname -Wl,gck-roots-store-standalone.so -Wl,-version-script -Wl,.libs/gck-roots-store-standalone.ver -o .libs/gck-roots-store-standalone.so ./.libs/libgck-roots-store.a(gck-roots-module.o): In function `file_load': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/roots-store/gck-roots-module.c:208: undefined reference to `egg_openssl_pem_parse' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-certificate.o): In function `gck_certificate_get_label': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-certificate.c:509: undefined reference to `egg_asn1_read_dn_part' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-certificate.c:513: undefined reference to `egg_asn1_read_dn' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-certificate.o): In function `find_certificate_extension': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-certificate.c:108: undefined reference to `egg_asn1_read_oid' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-certificate.o): In function `gck_certificate_get_extension': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-certificate.c:479: undefined reference to `egg_asn1_read_value' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-certificate.c:491: undefined reference to `egg_asn1_read_content' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-certificate.o): In function `gck_certificate_real_load': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-certificate.c:350: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-certificate.o): In function `gck_certificate_real_get_attribute': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-certificate.c:168: undefined reference to `egg_asn1_read_time' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-certificate.c:196: undefined reference to `egg_asn1_read_element' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-asn1.o): In function `gck_data_asn1_read_secure_mpi': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-asn1.c:55: undefined reference to `egg_asn1_read_value' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-asn1.o): In function `gck_data_asn1_read_mpi': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-asn1.c:35: undefined reference to `egg_asn1_read_value' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_certificate': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1282: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_certificate': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1161: undefined reference to `egg_asn1_decode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_basic_constraints': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1176: undefined reference to `egg_asn1_decode' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1183: undefined reference to `egg_asn1_read_uint' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1190: undefined reference to `egg_asn1_read_boolean' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_private_key_dsa': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:880: undefined reference to `egg_asn1_get_pk_asn1type' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:898: undefined reference to `egg_asn1_write_uint' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:901: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_private_key_dsa_params': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:844: undefined reference to `egg_asn1_get_pk_asn1type' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:858: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_private_key_dsa_part': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:814: undefined reference to `egg_asn1_get_pk_asn1type' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:824: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_public_key_dsa': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:772: undefined reference to `egg_asn1_get_pk_asn1type' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:788: undefined reference to `egg_asn1_write_uint' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:791: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_public_key_rsa': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:672: undefined reference to `egg_asn1_get_pk_asn1type' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:684: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_private_key_rsa': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:705: undefined reference to `egg_asn1_get_pk_asn1type' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:740: undefined reference to `egg_asn1_write_uint' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:743: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_private_pkcs8_plain': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1045: undefined reference to `egg_asn1_get_pkix_asn1type' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1050: undefined reference to `egg_asn1_write_uint' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1077: undefined reference to `egg_asn1_write_oid' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1081: undefined reference to `egg_asn1_write_value' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1086: undefined reference to `egg_asn1_write_value' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1091: undefined reference to `egg_asn1_write_value' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1094: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_private_pkcs8_crypted': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1116: undefined reference to `egg_asn1_get_pkix_asn1type' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `prepare_and_encode_pkcs8_cipher': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:980: undefined reference to `egg_asn1_write_oid' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:993: undefined reference to `egg_symkey_generate_pkcs12' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:999: undefined reference to `egg_asn1_get_pkix_asn1type' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1002: undefined reference to `egg_asn1_write_value' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1004: undefined reference to `egg_asn1_write_uint' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1006: undefined reference to `egg_asn1_encode' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1009: undefined reference to `egg_asn1_write_value' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_write_private_pkcs8_crypted': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:1146: undefined reference to `egg_asn1_encode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_private_key_dsa_parts': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:364: undefined reference to `egg_asn1_decode' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:365: undefined reference to `egg_asn1_decode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_private_key_dsa': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:316: undefined reference to `egg_asn1_decode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_public_key_dsa_parts': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:259: undefined reference to `egg_asn1_decode' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:260: undefined reference to `egg_asn1_decode' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o):/tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:213: more undefined references to `egg_asn1_decode' follow ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_public_key_info': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:438: undefined reference to `egg_asn1_read_oid' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:443: undefined reference to `egg_asn1_read_value' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:454: undefined reference to `egg_asn1_read_element' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_private_key_rsa': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:137: undefined reference to `egg_asn1_decode' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:143: undefined reference to `egg_asn1_read_uint' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_private_pkcs8_plain': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:504: undefined reference to `egg_asn1_decode' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:511: undefined reference to `egg_asn1_read_oid' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:524: undefined reference to `egg_asn1_read_content' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:528: undefined reference to `egg_asn1_read_element' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-der.o): In function `gck_data_der_read_private_pkcs8_crypted': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:582: undefined reference to `egg_asn1_decode' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:589: undefined reference to `egg_asn1_read_oid' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:593: undefined reference to `egg_asn1_read_element' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:600: undefined reference to `egg_symkey_read_cipher' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:609: undefined reference to `egg_asn1_read_value' /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-der.c:623: undefined reference to `egg_asn1_element_length' ../../pkcs11/gck/.libs/libgck.a(libgck_la-gck-data-file.o): In function `create_cipher': /tmp/buildd/gnome-keyring-2.25.90/pkcs11/gck/gck-data-file.c:365: undefined reference to `egg_symkey_generate_simple' collect2: ld returned 1 exit status make[5]: *** [gck-roots-store-standalone.la] Error 1 make[5]: Leaving directory `/tmp/buildd/gnome-keyring-2.25.90/pkcs11/roots-store' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/tmp/buildd/gnome-keyring-2.25.90/pkcs11/roots-store' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/tmp/buildd/gnome-keyring-2.25.90/pkcs11' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/buildd/gnome-keyring-2.25.90' make[1]: *** [all] Error 2 make[1]: Leaving directory `/tmp/buildd/gnome-keyring-2.25.90' make: *** [debian/stamp-makefile-build] Error 2 It was already the case with the 2.25.5 version. PS : In order to get there I have to add the following patch, to get rid of a first series of errors...: diff -Nur -x '*.orig' -x '*~' gnome-keyring-2.25.90/gcr/Makefile.am gnome-keyring-2.25.90.new/gcr/Makefile.am --- gnome-keyring-2.25.90/gcr/Makefile.am 2009-01-29 01:48:20.000000000 +0100 +++ gnome-keyring-2.25.90.new/gcr/Makefile.am 2009-02-03 17:57:27.000000000 +0100 @@ -73,7 +73,8 @@ $(GOBJECT_LIBS) \ $(GLIB_LIBS) \ $(LIBGCRYPT_LIBS) \ - $(LIBTASN1_LIBS) + $(LIBTASN1_LIBS) \ + $(GTK_LIBS) gcr-marshal.h: gcr-marshal.list $(GLIB_GENMARSHAL) $(GLIB_GENMARSHAL) $< --header --prefix=_gcr_marshal > $@ Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
Added the GTK dependency in SVN. I think the other stuff is a duplicate of bug #568406, which is as yet unsolved. I'm really lost as far as libtool goes, so if you think you have an idea how to solve this libtool problem, I'd be eternally grateful for any comments on that bug. *** This bug has been marked as a duplicate of 568406 ***