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

Bug 62283

Summary: libsoup has library versions hardcoded (gnutls) that causes evolution not to run & can't rebuild evolution
Product: Gentoo Linux Reporter: Edward Muller <edwardam>
Component: Current packagesAssignee: Crypto team [DISABLED] <crypto+disabled>
Status: RESOLVED FIXED    
Severity: critical CC: chico76, cosimog, crypto+disabled, dca, gnome, jlp.bugs, mystilleef, net-mail+disabled, subodh, tommy.m
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 64135, 66864, 72798    

Description Edward Muller 2004-08-30 12:38:23 UTC
After gnutls-1.0.17 installs, running evolution produces:

edwardam@palin gnutls $ evolution
evolution: error while loading shared libraries: libgnutls.so.10: cannot open shared object file: No such file or directory

re-emerging evolution produces:

Making all in ename
make[3]: Entering directory `/var/tmp/portage/evolution-1.4.6/work/evolution-1.4.6/e-util/ename'
/bin/sh ../../libtool --mode=link gcc  -O2 -march=athlon-xp -fomit-frame-pointer -Wall -Wmissing-prototypes   -o test-ename-western-gtk  test-ename-western-gtk.o libename.la -Wl,--export-dynamic -pthread -L/usr/X11R6/lib -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lgnomecanvas-2 -lgnome-2 -lpopt -lpangoft2-1.0 -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lgthread-2.0 -lgal-2.0 -lgal-a11y-2.0 -lglade-2.0 -lgnomeprint-2-2 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lpangox-1.0 -lart_lgpl_2 -lxml2 -lpthread -lz -lm -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0    -pthread -Wl,--export-dynamic -L/usr/X11R6/lib -lgal-2.0 -lgal-a11y-2.0 -lglade-2.0 -lgnomeprint-2-2 -lgnomeui-2 -lSM -lICE -lbonoboui-2 -lxml2 -lpthread -lz -lgnome-2 -lpopt -lbonobo-2 -lgconf-2 -lgnomevfs-2 -lbonobo-activation -lORBit-2 -lgthread-2.0 -lgnomecanvas-2 -lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lsoup-2.0 -lgnutls -lgcrypt -lglib-2.0   -lpthread -L/usr/lib -ldl -lplc4 -lplds4 -lnspr4 -lpthread ../../e-util/libeutil.la
gcc -O2 -march=athlon-xp -fomit-frame-pointer -Wall -Wmissing-prototypes -o .libs/test-ename-western-gtk test-ename-western-gtk.o -Wl,--export-dynamic -pthread -pthread -Wl,--export-dynamic  ./.libs/libename.so -L/usr/X11R6/lib -L/usr/lib ../../e-util/.libs/libeutil.so /usr/lib/libgal-2.0.so /usr/lib/libgal-a11y-2.0.so /usr/lib/libgnomeprintui-2-2.so /usr/lib/libglade-2.0.so /usr/lib/libgnomeprint-2-2.so /usr/lib/libfontconfig.so /usr/lib/libexpat.so /usr/lib/libfreetype.so /usr/lib/libgnomeui-2.so /usr/lib/libgnome-keyring.so /usr/lib/libjpeg.so /usr/lib/libbonoboui-2.so -lSM -lICE -lX11 /usr/lib/libgnome-2.so /usr/lib/libesd.so /usr/lib/libasound.so /usr/lib/libaudiofile.so /usr/lib/libgnomevfs-2.so /usr/lib/libgconf-2.so /usr/lib/libbonobo-2.so /usr/lib/libxml2.so -lssl -lcrypto -lrt /usr/lib/libbonobo-activation.so /usr/lib/libORBitCosNaming-2.so /usr/lib/libORBit-2.so /usr/lib/libpopt.so /usr/lib/libgthread-2.0.so /usr/lib/libgnomecanvas-2.so /usr/lib/libart_lgpl_2.so /usr/lib/libpangoft2-1.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 -lm /usr/lib/libpangoxft-1.0.so /usr/lib/libpangox-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libsoup-2.0.so /usr/lib/libgnutls.so -lz /usr/lib/libgcrypt.so /usr/lib/libgpg-error.so -lnsl /usr/lib/libglib-2.0.so -ldl -lplc4 -lplds4 -lnspr4 -lpthread -Wl,--rpath -Wl,/usr/lib/evolution/1.4
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../../i686-pc-linux-gnu/bin/ld: warning: libgnutls.so.10, needed by /usr/lib/libsoup-2.0.so, not found (try using -rpath or -rpath-link)
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_set_x509_key_file@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_dh_params_init@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_set_x509_trust_file@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_expiration_time_peers@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_global_init@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_server_set_request@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_verify_peers@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_dh_params_set@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_record_send@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_get_peers@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_type_get@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_allocate_credentials@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_dh_params_deinit@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_handshake@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_init@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_credentials_set@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_set_dh_params@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_record_recv@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_set_default_priority@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_bye@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_free_credentials@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_deinit@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_transport_set_ptr@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_dh_set_prime_bits@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_certificate_activation_time_peers@GNUTLS_REL_1_0'
/usr/lib/libsoup-2.0.so: undefined reference to `gnutls_dh_params_generate@GNUTLS_REL_1_0'
collect2: ld returned 1 exit status
make[3]: *** [test-ename-western-gtk] Error 1
make[3]: Leaving directory `/var/tmp/portage/evolution-1.4.6/work/evolution-1.4.6/e-util/ename'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/evolution-1.4.6/work/evolution-1.4.6/e-util'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/evolution-1.4.6/work/evolution-1.4.6'
make: *** [all-recursive-am] Error 2

!!! ERROR: mail-client/evolution-1.4.6 failed.
!!! Function src_compile, Line 174, Exitcode 2
!!! make failed

Reproducible: Always
Steps to Reproduce:
1. emerge gnutls
2. run evolution
3. emerge evolution
4. emerge problem

Actual Results:  
see above

Expected Results:  
evolution should run and/or should be able to rebuild evolution with new gnutls

Portage 2.0.50-r10 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.3.20040420-r1,
2.6.7-gentoo-r11)
=================================================================
System uname: 2.6.7-gentoo-r11 i686 AMD Athlon(TM) XP 2200+
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref
/usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
http://mirrors.tds.net/gentoo http://mirror.datapipe.net/gentoo
http://gentoo.netnitco.net"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://ls1.interlix.com/gentoo-portage"
USE="X aalib acl aim alsa apache2 apm arts audiofile avi berkdb bonobo bzlib
calendar caps cdr cpdflib crypt cscope cups curl curlwrappers dedicted dga
divx4linux doc dvb dvd dvdr encode esd ethereal evo exif fam flac flash flatfile
foomaticdb ftp gd gdbm gif gnome gnutls gphoto2 gpm gtk gtk2 gtkhtml guile icq
imagemagick imap imlib innodb ipv6 jabber java jpeg kde ldap lesstif libg++
libwww mad maildir mbox mcal mikmod mime ming mmap mmx motif mozilla mpeg msn
mysql ncurses nis nls oggvorbis openal opengl oscar pam pcre pda pdflib perl php
png posix postgres ppds python qt quicktime readline samba scanner sdl slang
snmp soap sockets speex spell spl sse ssl svga tcpd tetex theora tidy tiff
tokenizer truetype usb vhosts videos wmf wxwindows x86 xine xinerama xml2 xmlrpc
xmms xosd xsl xv xvid yahoo zeo zlib"
Comment 1 Priit Laes (IRC: plaes) 2004-09-01 01:11:37 UTC
Try recompiling libsoup
Comment 2 Daniel Black (RETIRED) gentoo-dev 2004-09-08 06:46:31 UTC
I agree - recompile  libsoup and all should be good. (until the next gnutls version bump)
Comment 3 Edward Muller 2004-09-08 08:29:52 UTC
Yes, recompiling libsoup fixed it for me.

Is there any way something like this can be triggered in the ebuild?

Should it be?
Comment 4 Daniel Black (RETIRED) gentoo-dev 2004-09-08 12:45:50 UTC
yes however I'd rather fix libsoup to not depend on specific versions of gnutls.

readelf -a /usr/lib/libsoup-2.2.so.6.0.0 | fgrep lib
 0x00000001 (NEEDED)                     Shared library: [libgobject-2.0.so.0]
 0x00000001 (NEEDED)                     Shared library: [libgthread-2.0.so.0]
 0x00000001 (NEEDED)                     Shared library: [libglib-2.0.so.0]
 0x00000001 (NEEDED)                     Shared library: [libxml2.so.2]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libgnutls.so.11]
 0x00000001 (NEEDED)                     Shared library: [libgcrypt.so.11]
 0x00000001 (NEEDED)                     Shared library: [libgpg-error.so.0]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000e (SONAME)                     Library soname: [libsoup-2.2.so.6]
Comment 5 Daniel Black (RETIRED) gentoo-dev 2004-09-28 05:53:42 UTC
I'm lost as to what I should be doing for this bug. Please tell me the ideal state so I can work towards this.
Comment 6 foser (RETIRED) gentoo-dev 2004-09-28 13:22:36 UTC
fix the awkward binary versioning or slot it, whichever is the proper solution.
Comment 7 foser (RETIRED) gentoo-dev 2004-11-02 04:44:58 UTC
*** Bug 69815 has been marked as a duplicate of this bug. ***
Comment 8 Daniel Black (RETIRED) gentoo-dev 2004-11-02 05:07:44 UTC
should of done this a while ago sorry. - 1/3 bug blocking gnome 2.8
Comment 9 chico76 2004-11-03 03:59:37 UTC
Just a question, can someone explain me why the bug 69815 has been marked as a duplicate of this bug. Because the ebuild i mentinned on the bug 69815 (pango) haven't any dependency to one of the package mentionned on this page (exept libcrypt).

So i don't understand and i really like to understand how my bug were resolved so i would be very happy to have some explanation ( if someone had time to ).

My email is chico76@wanadoo.fr , if this bug report isn't the good place for an answer.

Thanks
Comment 10 Daniel Black (RETIRED) gentoo-dev 2005-01-08 14:43:26 UTC
*** Bug 77146 has been marked as a duplicate of this bug. ***
Comment 11 Guy 2005-01-09 06:56:36 UTC
With the new bump of gnutls, this problem is effecting evolution-data-server, libgtkhtml etc.

It seems to me that every ebuild bump of gnutls should be automatically followed by an ebuild to libsoup.

I know we're used to thinking of satisfying dependencies before an ebuild, but this seems a special case of satisfying a dependency _after_ an ebuild. I'm not convinced slotting is the right approach. But hey, what do I know? I'm not a programmer. :-)
Comment 12 Joe McCann (RETIRED) gentoo-dev 2005-01-09 15:42:50 UTC
*** Bug 77283 has been marked as a duplicate of this bug. ***
Comment 13 foser (RETIRED) gentoo-dev 2005-01-12 07:38:17 UTC
*** Bug 77241 has been marked as a duplicate of this bug. ***
Comment 14 Daniel Black (RETIRED) gentoo-dev 2005-01-14 15:24:15 UTC
An API has changed in gnutls. This is why the library has gone from 
libgnutls.so.10 to libgnutls.so.11.

What is required is a revdep-rebuild.

To show you what is needed to rebuild
revdep-rebuild --soname libgnutls.so.10 -- -p
(note this should list libsoup)

Then do:
revdep-rebuild --soname libgnutls.so.10

Afterward just try:

revdep-rebuild -- -p
to see if there are any other packages broken.

I will very shortly going add this notice to the postinstall notices of gnutls

(thanks to SpanKY for the help here)
Comment 15 Daniel Black (RETIRED) gentoo-dev 2005-01-14 15:52:32 UTC
notices added.
Comment 16 foser (RETIRED) gentoo-dev 2005-01-18 13:23:50 UTC
*** Bug 78533 has been marked as a duplicate of this bug. ***
Comment 17 Mark Dominik Bürkle 2006-09-29 04:51:42 UTC
It's not Your fault and this is not meant to reopen this bug:

If there is no output-redirection of emerge-output, e.g.

emerge -ev world 2>&1 | tee /tmp/emerge-world.log
emerge -ev world > /tmp/emerge-world.log 2>&1 & tail -f /tmp/emerge-world.log

then those messages will never be read.
(My xterm is set to 50.000 lines of history but that is by far not enough, that's even too few for a single openoffice build.)

imho, emerge should put those "ewarn" messages into emerge.log, e.g.
1159371297:  !!! "You must re-compile all packages that are linked against"
1159371297:  !!! "Gnutls-1.2.11 by using revdep-rebuild from gentoolkit:"
1159371297:  !!! "# revdep-rebuild --library libgnutls.so.12"
Comment 18 Daniel Black (RETIRED) gentoo-dev 2006-09-29 05:37:49 UTC
(In reply to comment #17)
> It's not Your fault and this is not meant to reopen this bug:
> 
> If there is no output-redirection of emerge-output, e.g.
> 
> emerge -ev world 2>&1 | tee /tmp/emerge-world.log
> emerge -ev world > /tmp/emerge-world.log 2>&1 & tail -f /tmp/emerge-world.log

alternately there is PORT_LOGDIR in recent portage versions. I've got mine set to /var/log/portage with directory permissions 
drwxrws--- 2 portage portage 65536 Sep 27 22:36 /var/log/portage/
Then all output is there without even trying to remember redirection syntax.

There is something about elog stuff that I need to lookup that may help you too.

> then those messages will never be read.
> (My xterm is set to 50.000 lines of history but that is by far not enough,
> that's even too few for a single openoffice build.)
> 
> imho, emerge should put those "ewarn" messages into emerge.log, e.g.
> 1159371297:  !!! "You must re-compile all packages that are linked against"
> 1159371297:  !!! "Gnutls-1.2.11 by using revdep-rebuild from gentoolkit:"
> 1159371297:  !!! "# revdep-rebuild --library libgnutls.so.12"
> 
Sorry for the inconvience. Gentoo really does needs a management system to handle lib version bumps.
Comment 19 Jakub Moc (RETIRED) gentoo-dev 2006-11-02 03:53:22 UTC
*** Bug 153696 has been marked as a duplicate of this bug. ***
Comment 20 Jakub Moc (RETIRED) gentoo-dev 2006-11-13 07:34:18 UTC
*** Bug 155024 has been marked as a duplicate of this bug. ***