Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 133458

Summary: gnome-extra/evolution-exchange-2.6.0 fails with --as-needed
Product: Gentoo Linux Reporter: Patrizio Bassi <patrizio.bassi>
Component: New packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: aherrerag, ellingsw+20942, flameeyes, leio, nichoj, suka
Priority: High    
Version: 2006.0   
Hardware: All   
OS: Linux   
URL: http://bugzilla.gnome.org/show_bug.cgi?id=342830
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 129413    

Description Patrizio Bassi 2006-05-16 02:35:46 UTC
i686-pc-linux-gnu-gcc -O3 -mtune=pentium3 -march=pentium3 -pipe -fomit-frame-pointer -mmmx -msse -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wno-sign-compare -Wl,-O1 -Wl,--sort-common -Wl,--enable-new-dtags -Wl,-Bdirect -Wl,--as-needed -Wl,-hashvals -Wl,-zdynsort -o evolution-exchange-storage exchange-autoconfig-wizard.o exchange-component.o exchange-config-listener.o exchange-change-password.o exchange-migrate.o exchange-storage.o main.o ../camel/.libs/camel-stub-marshal.o -pthread -Wl,--export-dynamic -pthread  ../mail/.libs/libexchangemail.a ../addressbook/.libs/libexchangeaddressbook.a ../calendar/.libs/libexchangecalendar.a -L/usr/lib/evolution/2.6 -L/usr/lib/pkgconfig/../../lib -L/usr/X11R6/lib -L/usr/lib/nspr -L/usr/lib/nss /usr/lib/libedata-book-1.2.so /usr/lib/libedata-cal-1.2.so /usr/lib/libecal-1.2.so /usr/lib/evolution/2.6/libeshell.so /usr/lib/evolution/2.6/libemiscwidgets.so /usr/lib/evolution/2.6/libetext.so /usr/lib/evolution/2.6/libetable.so /usr/lib/evolution/2.6/libevolution-widgets-a11y.so /usr/lib/evolution/2.6/libevolution-a11y.so /usr/lib/evolution/2.6/libeutil.so /usr/lib/libgnomeprintui-2-2.so /usr/lib/libgnomeprint-2-2.so /usr/lib/libmono.so -lrt /usr/lib/libcamel-provider-1.2.so /usr/lib/libgtkhtml-3.8.so /usr/lib/libgailutil.so /usr/lib/libgnomeui-2.so /usr/lib/libjpeg.so /usr/lib/libbonoboui-2.so /usr/lib/libSM.so /usr/lib/libICE.so /usr/lib/libgnome-keyring.so /usr/lib/libgnomecanvas-2.so /usr/lib/libart_lgpl_2.so /usr/lib/libedataserverui-1.2.so /usr/lib/libebook-1.2.so /usr/lib/libcamel-1.2.so -lssl3 -lsmime3 -lnss3 -lsoftokn3 /usr/lib/libexchange-storage-1.2.so /usr/lib/libedataserver-1.2.so -lplc4 -lplds4 -lnspr4 /usr/lib/libglade-2.0.so /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/libXext.so /usr/lib/libcairo.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libXrender.so /usr/lib/libX11.so /usr/lib/libXau.so /usr/lib/libXdmcp.so -lpng12 /usr/lib/libfontconfig.so /usr/lib/libexpat.so /usr/lib/libfreetype.so /usr/lib/libgnome-2.so /usr/lib/libgnomevfs-2.so -lutil /usr/lib/libldap.so /usr/lib/liblber.so -lssl -lcrypto -lresolv /usr/lib/libsoup-2.2.so -L/usr/lib /usr/lib/libgnutls.so /usr/lib/libgcrypt.so -lnsl /usr/lib/libgpg-error.so /usr/lib/libbonobo-2.so /usr/lib/libbonobo-activation.so /usr/lib/libORBitCosNaming-2.so /usr/lib/libxml2.so -lz /usr/lib/libgconf-2.so /usr/lib/libORBit-2.so /usr/lib/libpopt.so /usr/lib/libgobject-2.0.so -lm /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libgthread-2.0.so -lpthread /usr/lib/libglib-2.0.so  -Wl,--rpath -Wl,/usr/lib/evolution/2.6 -Wl,--rpath -Wl,/usr/lib/evolution/2.6
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_get_init_creds_opt_set_renew_life'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_get_init_creds_opt_set_tkt_life'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_free_principal'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_free_cred_contents'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_get_init_creds_password'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_get_init_creds_opt_init'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_free_context'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_get_init_creds_opt_set_forwardable'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_change_password'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_set_default_realm'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_free_data_contents'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_get_init_creds_opt_set_proxiable'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_init_context'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `krb5_parse_name'
collect2: ld returned 1 exit status
make[2]: *** [evolution-exchange-storage] Error 1
make[2]: Leaving directory `/mnt/Dati/Gentoo/tmp/portage/evolution-exchange-2.6.0/work/evolution-exchange-2.6.0/storage'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/Dati/Gentoo/tmp/portage/evolution-exchange-2.6.0/work/evolution-exchange-2.6.0'
make: *** [all] Error 2

!!! ERROR: gnome-extra/evolution-exchange-2.6.0 failed.
Call stack:
  ebuild.sh, line 1527:   Called dyn_compile
  ebuild.sh, line 931:   Called src_compile
  ebuild.sh, line 1240:   Called gnome2_src_compile
  gnome2.eclass, line 58:   Called die

!!! compile failure
!!! If you need support, post the topmost build error, and the call stack if relevant.
Comment 1 Patrizio Bassi 2006-05-16 05:55:00 UTC
oops after a better analisys i discovered that it misses the -lkrb5 flags.
Comment 2 John N. Laliberte (RETIRED) gentoo-dev 2006-05-24 11:53:16 UTC
ok, so this was supposed to be a quick thing and it turned into an adventure :)

See upstream bug:
http://bugzilla.gnome.org/show_bug.cgi?id=342830
for details.

I'm going to leave this open until upstream gives us some feedback.
Comment 3 Mart Raudsepp gentoo-dev 2006-09-05 00:56:04 UTC
evolution-exchange-2.8.0 in the gnome-experimental overlay (no patching) now fails with this from --as-needed:

/bin/sh ../libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc  -march=prescott -Os -ftracer -pipe -fomit-frame-pointer -momit-leaf-frame-pointer -W -Wall -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare  -Wno-sign-compare  -Wl,-O2 -Wl,-hashvals -Wl,--as-needed -o migr-test  migr-test.o exchange-config-listener.o exchange-migrate.o -lldap -llber -lresolv -lnsl -Wl,-R/usr/lib/evolution/2.8 -pthread -Wl,--export-dynamic -L/usr/lib/evolution/2.8 -leshell -leutil -ledataserverui-1.2 -ledata-book-1.2 -lebook-1.2 -ledata-cal-1.2 -lecal-1.2 -lsoup-2.2 -lgnutls -lgcrypt -lgpg-error -lglade-2.0 -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnome-keyring -lgnomecanvas-2 -lgnome-2 -lpopt -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lbonobo-2 -lgnomevfs-2 -lbonobo-activation -lgconf-2 -lORBit-2 -lgthread-2.0 -lgnomeprint-2-2 -lart_lgpl_2 -lxml2 -lz -lm -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lcamel-1.2 -lcamel-provider-1.2 -ledataserver-1.2   -Wl,-R/usr/lib/evolution/2.8 -pthread -L/usr/lib/evolution/2.8 -leshell -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnome-keyring -lgnomecanvas-2 -lart_lgpl_2 -lpangoft2-1.0 -ledataserverui-1.2 -lglade-2.0 -lebook-1.2 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgnome-2 -lpopt -ledataserver-1.2 -lgnomevfs-2 -lgobject-2.0 -lexchange-storage-1.2 -lsoup-2.2 -lgnutls -lgcrypt -lgpg-error -lbonobo-2 -lbonobo-activation -lxml2 -lz -lgconf-2 -lORBit-2 -lm -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0   
i686-pc-linux-gnu-gcc -march=prescott -Os -ftracer -pipe -fomit-frame-pointer -momit-leaf-frame-pointer -W -Wall -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wno-sign-compare -Wl,-O2 -Wl,-hashvals -Wl,--as-needed -o migr-test migr-test.o exchange-config-listener.o exchange-migrate.o -Wl,-R/usr/lib/evolution/2.8 -pthread -Wl,--export-dynamic -Wl,-R/usr/lib/evolution/2.8 -pthread  -L/usr/lib/evolution/2.8 -L/usr/lib/nspr -L/usr/lib/pkgconfig/../../lib -L/usr/lib/lib -L/usr/lib/nss -L/usr/X11R6/lib /usr/lib/libedata-book-1.2.so -L/usr/lib /usr/lib/libedata-cal-1.2.so /usr/lib/libecal-1.2.so /usr/lib/evolution/2.8/libeshell.so /usr/lib/evolution/2.8/libemiscwidgets.so /usr/lib/evolution/2.8/libetext.so /usr/lib/evolution/2.8/libetable.so /usr/lib/evolution/2.8/libevolution-widgets-a11y.so /usr/lib/evolution/2.8/libevolution-a11y.so /usr/lib/evolution/2.8/libeutil.so /usr/lib/libgnomeprintui-2-2.so /usr/lib/libgnomeprint-2-2.so /usr/lib/libmono.so /usr/lib/libcamel-provider-1.2.so /usr/lib/libgtkhtml-3.8.so /usr/lib/libgailutil.so /usr/lib/libgnomeui-2.so /usr/lib/libjpeg.so /usr/lib/libbonoboui-2.so /usr/lib/libgnome-keyring.so /usr/lib/libgnomecanvas-2.so /usr/lib/libart_lgpl_2.so /usr/lib/libedataserverui-1.2.so /usr/lib/libebook-1.2.so /usr/lib/libcamel-1.2.so -lssl3 -lsmime3 -lnss3 -lsoftokn3 /usr/lib/libexchange-storage-1.2.so -lkrb5 -lk5crypto -lcom_err -lgssapi_krb5 /usr/lib/libedataserver-1.2.so -ldb -lplc4 -lplds4 -lnspr4 /usr/lib/libglade-2.0.so /usr/lib/libSM.so /usr/lib/libICE.so /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/libfreetype.so /usr/lib/libfontconfig.so /usr/lib/libexpat.so /usr/lib/libdirectfb.so /usr/lib/libfusion.so /usr/lib/libdirect.so /usr/lib/libglitz.so /usr/lib/libpng12.so /usr/lib/libXrender.so /usr/lib/libX11.so /usr/lib/libXau.so /usr/lib/libXdmcp.so /usr/lib/libgnome-2.so /usr/lib/libesd.so /usr/lib/libaudiofile.so /usr/lib/libasound.so /usr/lib/libgnomevfs-2.so /usr/lib/libdbus-glib-1.so /usr/lib/libavahi-glib.so /usr/lib/libavahi-client.so /usr/lib/libdbus-1.so /usr/lib/libavahi-common.so -lutil /usr/lib/libldap.so -lssl -lcrypto /usr/lib/liblber.so -lresolv /usr/lib/libsoup-2.2.so /usr/lib/libgnutls.so /usr/lib/libgcrypt.so -lnsl /usr/lib/libgpg-error.so /usr/lib/libbonobo-2.so /usr/lib/libbonobo-activation.so /usr/lib/libORBitCosNaming-2.so /usr/lib/libxml2.so -lz /usr/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 -lpthread /usr/lib/libglib-2.0.so -lrt -Wl,--rpath -Wl,/usr/lib/evolution/2.8 -Wl,--rpath -Wl,/usr/lib/evolution/2.8
/usr/lib/libexchange-storage-1.2.so: undefined reference to `e_passwords_get_password'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `e_passwords_forget_password'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `e_passwords_ask_password'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `e_passwords_add_password'
/usr/lib/libexchange-storage-1.2.so: undefined reference to `e_passwords_remember_password'
collect2: ld returned 1 exit status
make[2]: *** [migr-test] Error 1
make[2]: Leaving directory `/mnt/sda8/tmp/portage/evolution-exchange-2.8.0/work/evolution-exchange-2.8.0/storage'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/sda8/tmp/portage/evolution-exchange-2.8.0/work/evolution-exchange-2.8.0'
make: *** [all] Error 2
!!! ERROR: gnome-extra/evolution-exchange-2.8.0 failed.
Call stack:
  ebuild.sh, line 1543:   Called dyn_compile
  ebuild.sh, line 936:   Called src_compile
  ebuild.sh, line 1252:   Called gnome2_src_compile
  gnome2.eclass, line 64:   Called die
!!! compile failure
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! This ebuild is from an overlay: '/home/leio/dev/overlay/gnome'

When doing
$ cat /var/db/pkg/gnome-extra/evolution-exchange-2.7.90/LDFLAGS 
-Wl,-O2 -Wl,-hashvals -Wl,--as-needed
I'm lead to believe that 2.7.90 might have worked... but there are no changes between the tarballs that I can see other than translation and version variable bump.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-09-15 01:26:53 UTC
*** Bug 147640 has been marked as a duplicate of this bug. ***
Comment 5 Maciej Piechotka 2006-09-18 13:32:58 UTC
Is it possible to add to ebuild function strip-ldflags or something like that. It'd be useful in such ocassions. (2.8 doesn't work with this flag as well)
Comment 6 Mart Raudsepp gentoo-dev 2006-09-21 15:49:38 UTC
(In reply to comment #5)
> Is it possible to add to ebuild function strip-ldflags or something like that.
> It'd be useful in such ocassions. (2.8 doesn't work with this flag as well)

Even though filter-ldflags is already available in flag-o-matic.eclass, the correct solution here is to fix the thing, not filter the flag.
Fixing it isn't hard in particular, but still needs someone to spend the time on it.
Comment 7 Andreas Proschofsky (RETIRED) gentoo-dev 2006-09-22 00:12:04 UTC
Two of the necessary patches are already in the evolution-data-server-1.8.0 ebuild, so why not add the missing third one? Tested this here and it seems to work now, so would be great to go ahead with this.
Comment 8 Steven Elling 2007-02-13 23:53:17 UTC
evolution-exchange-2.8.1 does not like '--as-needed' either.  Getting the same "undefined reference to" errors as Mart Raudsepp in comment #3.
Comment 9 Daniel Gryniewicz (RETIRED) gentoo-dev 2007-02-14 16:05:57 UTC
Which 3 patches were you talking about?  I've yet to see any patchset to e-d-s that allows evo-exchange to build and run with --as-needed...
Comment 10 Andreas Proschofsky (RETIRED) gentoo-dev 2007-02-14 17:26:59 UTC
(In reply to comment #9)
> Which 3 patches were you talking about?  I've yet to see any patchset to e-d-s
> that allows evo-exchange to build and run with --as-needed...
> 

The patches John posted on GNOME bugzilla:

http://bugzilla.gnome.org/show_bug.cgi?id=342830

Adding

http://dev.gentoo.org/~allanonjl/temp/evolution-data-server-as-needed.patch

to the ebuild lets me build evolution-exchange with --as-needed fine. Currently I'm using evolution-data-server 1.9.91, but as far as I remember this also worked with 1.8.x
Comment 11 Daniel Gryniewicz (RETIRED) gentoo-dev 2007-02-14 18:16:51 UTC
Supposedly, those are already in our e-d-s, in effect.  And, they've never been enough for me.  But I'll look into it closer.
Comment 12 Andreas Proschofsky (RETIRED) gentoo-dev 2007-02-14 18:51:21 UTC
(In reply to comment #11)
> Supposedly, those are already in our e-d-s, in effect.  And, they've never been
> enough for me.  But I'll look into it closer.
> 

Just take a look: the evolution-data-server-as-needed.patch is still missing from the ebuild, adding it solves the problem... I guess that's just an oversight, nothing more.
Comment 13 Daniel Gryniewicz (RETIRED) gentoo-dev 2007-02-14 19:37:22 UTC
Okay, I was wrong.  Somehow, along the way, the patches became different.  This is fixed for 1.9.91 in the overlay, and will come into portage with 1.10.0.
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2007-03-06 20:11:03 UTC
*** Bug 169655 has been marked as a duplicate of this bug. ***