Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 349782 - gnome-extra/evolution-data-server links to the already-installed libraries
Summary: gnome-extra/evolution-data-server links to the already-installed libraries
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-26 15:23 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2011-06-19 21:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (evolution-2.32.1:20101225-081847.log,51.63 KB, text/plain)
2010-12-26 15:24 UTC, Diego Elio Pettenò (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2010-12-26 15:23:47 UTC
This is weird, and it can be a problem when you turn off preserved-libs...

Portage 2.1.9.26 (default/linux/x86/10.0, gcc-4.5.1-asneeded, glibc-2.12.1-r3, 2.6.36.2+ i686)
=================================================================
System uname: Linux-2.6.36.2+-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-gentoo-2.0.1
Timestamp of tree: Sat, 25 Dec 2010 23:30:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 3.1.3 [disabled]
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.4.6, 2.6.6-r1, 2.7.1, 3.1.3
dev-util/ccache:     3.1.3
dev-util/cmake:      2.8.3-r1
sys-apps/baselayout: 2.0.1-r1
sys-apps/openrc:     0.6.8
sys-apps/sandbox:    2.4
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.21
sys-devel/gcc:       4.5.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.4-r1
sys-devel/make:      3.82
virtual/os-headers:  2.6.36.1 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/share/bufrtables /usr/share/config /usr/share/maven-bin-2.2/conf /usr/share/maven-bin-3.0/conf /usr/share/openvpn/easy-rsa /usr/share/qpsmtpd/plugins /var/bind /var/lib/hsqldb /var/lib/redmine/config /var/phxd /var/spool/torque /var/vpopmail/etc /var/yp/Makefile"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/games/angband/edit/ /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/var/cache/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms split-log strict test test-fail-continue unknown-features-warn unmerge-orphans userfetch userpriv usersandbox"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.wheel.sk/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j14"
PKGDIR="/var/spool/portage/packages"
PORTAGE_COMPRESS=""
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/cache/portage/tree"
SYNC="rsync://yamato.home.flameeyes.eu/gentoo-portage"
USE="acl berkdb bzip2 cli cracklib crypt cups cxx dri fortran gdbm gpm iconv ipv6 java5 java6 modules mudflap mysql ncurses nls nostatic nptl nptlonly openmp pam pcre perl postgres pppd python qt3support readline ruby session ssl sysfs tcpd unicode vhosts x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest cgi" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18 jruby ruby19 ree18" USERLAND="GNU" VIDEO_CARDS="intel radeon nouveau vmware" XTABLES_ADDONS="quota2 psd pknock lslines 1-45
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-12-26 15:24:00 UTC
Created attachment 258118 [details]
Build log
Comment 2 Gilles Dartiguelongue (RETIRED) gentoo-dev 2010-12-27 10:50:59 UTC
$ qfile /usr/lib/libebook-1.2.so
gnome-extra/evolution-data-server (/usr/lib64/libebook-1.2.so)
$ qfile /usr/lib/libcamel-1.2.so
gnome-extra/evolution-data-server (/usr/lib64/libcamel-1.2.so)

so this would actually be a problem with evolution-data-server ?

Then eds-2.32 provides libcamel-1.2.so.19 but libcamel-1.2.so.14 is preserved due to other packages using it, see postinst:

    for lib in libcamel-provider-1.2.so.14 libedata-cal-1.2.so.7 \
        libgdata-1.2.so libgdata-google-1.2.so libcamel-1.2.so.14 \
        libedata-book-1.2.so.2 libebook-1.2.so.9 \
        libedataserver-1.2.so.13 libecal-1.2.so.7 libedataserverui-1.2.so.8
    do 
        preserve_old_lib_notify /usr/$(get_libdir)/$lib
    done


Could it be that your system still has the old lib when it should not ?
Comment 3 Rafał Mużyło 2010-12-27 14:04:43 UTC
Should have, shouldn't have - it depends.
But, if the problem lies in evolution-data-server, it may come from la file deps ordering in Makefile.am.
In addressbook/libebook/Makefile.am, libebook_1_2_la_LIBADD starts with
$(top_builddir)/addressbook/libegdbus/libegdbus-book.la	$(top_builddir)/camel/libcamel-1.2.la
in addressbook/libegdbus/Makefile.am, libegdbus_book_la_LIBADD is $(E_DATA_SERVER_LIBS)
in configure.ac, E_DATA_SERVER_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 gconf-2.0 $mozilla_nspr"

I think that this has an effect of linking to system libs first.
Flameeyes, do you agree ?
Comment 4 Pacho Ramos gentoo-dev 2011-02-24 18:09:19 UTC
How could I try to reproduce this problem to report to upstream if needed? Thanks
Comment 5 Pacho Ramos gentoo-dev 2011-03-06 11:41:43 UTC
(In reply to comment #2)
> $ qfile /usr/lib/libebook-1.2.so
> gnome-extra/evolution-data-server (/usr/lib64/libebook-1.2.so)
> $ qfile /usr/lib/libcamel-1.2.so
> gnome-extra/evolution-data-server (/usr/lib64/libcamel-1.2.so)
> 
> so this would actually be a problem with evolution-data-server ?
> 
> Then eds-2.32 provides libcamel-1.2.so.19 but libcamel-1.2.so.14 is preserved
> due to other packages using it, see postinst:
> 
>     for lib in libcamel-provider-1.2.so.14 libedata-cal-1.2.so.7 \
>         libgdata-1.2.so libgdata-google-1.2.so libcamel-1.2.so.14 \
>         libedata-book-1.2.so.2 libebook-1.2.so.9 \
>         libedataserver-1.2.so.13 libecal-1.2.so.7 libedataserverui-1.2.so.8
>     do 
>         preserve_old_lib_notify /usr/$(get_libdir)/$lib
>     done
> 
> 
> Could it be that your system still has the old lib when it should not ?
> 

Anyway, even if I generally agree with using preserve_old_lib, for this case, it was really a headache to run a ton of revdep-rebuild && rm ... commands and I would have preferred to simply run a revdep-rebuild command after updating evolution -> What about simply dropping preserve_old_lib for this case?
Comment 6 Gilles Dartiguelongue (RETIRED) gentoo-dev 2011-03-07 09:39:25 UTC
No, there is no case where it is wrong.
When there is so many libs, the user simply needs to run revdep-rebuild either without arguments or with a full list at once, not one lib by one.
The postinst info is not ideal but we are holding hands enough already.
Comment 7 Pacho Ramos gentoo-dev 2011-03-07 09:45:24 UTC
I thought running "revdep-rebuild" without arguments would simply don't rebuild anything if I don't manually remove every old lib before. And about running revdep-rebuild with multiple arguments... it would probably be the best option, but current information provided by eclass points to the opposite direction :-/
Comment 8 Pacho Ramos gentoo-dev 2011-03-07 09:46:18 UTC
(Looks like new bugzilla add people to CC list by default :-S)
Comment 9 Rafał Mużyło 2011-03-11 21:41:34 UTC
If the problem lies where I placed it in comment 3, preserve_old_lib just hides the problem, without fixing a thing.
Cause in that case evolution isn't broken in this context.
Comment 10 Gilles Dartiguelongue (RETIRED) gentoo-dev 2011-03-14 09:46:11 UTC
(In reply to comment #9)
> If the problem lies where I placed it in comment 3, preserve_old_lib just hides
> the problem, without fixing a thing.
> Cause in that case evolution isn't broken in this context.

The excerpt you posted look fine. The problem with preserve_old_libs is that people don't understand they should revdep-rebuild just after the upgrade, not days later. It is a temporary solution to not break your desktop instantly on upgrades, not a long term "fix".
Comment 11 Pacho Ramos gentoo-dev 2011-04-12 09:51:38 UTC
(In reply to comment #3)
> Should have, shouldn't have - it depends.
> But, if the problem lies in evolution-data-server, it may come from la file
> deps ordering in Makefile.am.
> In addressbook/libebook/Makefile.am, libebook_1_2_la_LIBADD starts with
> $(top_builddir)/addressbook/libegdbus/libegdbus-book.la   
> $(top_builddir)/camel/libcamel-1.2.la
> in addressbook/libegdbus/Makefile.am, libegdbus_book_la_LIBADD is
> $(E_DATA_SERVER_LIBS)
> in configure.ac, E_DATA_SERVER_DEPS="gio-2.0 libxml-2.0 libsoup-2.4 gconf-2.0
> $mozilla_nspr"
> 
> I think that this has an effect of linking to system libs first.
> Flameeyes, do you agree ?

Should we report this to upstream then?
Comment 12 Rafał Mużyło 2011-04-12 17:48:50 UTC
(In reply to comment #11)
If you can confirm it, yes.
It wouldn't be the first gnome package to receive such fix - it's quite easy to escape notice, after all
Personally, I'd rather not get involved with a lib I don't really care about.

IIRC, as long, as silent make isn't used, the proof either for or against should be visible in evolution-data-server build log (or in the *build tree* la file).
Comment 13 Rafał Mużyło 2011-04-12 19:45:47 UTC
However, can this still be reproduced ?
Outside portage, that is - I've tried a little test and it seemed to link correctly.
Comment 14 Rafał Mużyło 2011-04-12 21:54:32 UTC
Actually, I can't reproduce it even with portage - 'ldd -r' output for libebook is clean and complete for upgrade from gnome-extra/evolution-data-server-2.30.0 to 2.32.2.
Comment 15 Pacho Ramos gentoo-dev 2011-05-06 18:50:10 UTC
I would close this if nobody is able to reproduce :-|
Comment 16 Pacho Ramos gentoo-dev 2011-06-04 10:23:42 UTC
Wasn't a patch for a similar problem provided for evolution-3 by tetromino recently?
Comment 17 Pacho Ramos gentoo-dev 2011-06-19 21:32:22 UTC
+*evolution-data-server-2.32.3 (19 Jun 2011)
+
+  19 Jun 2011; Pacho Ramos <pacho@gentoo.org>
+  +evolution-data-server-2.32.3.ebuild, +files/fix_relink_command.pl:
+  Version bump, also fix bug #349782 (linking problems) with tetromino's
+  solution.
+