Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 41298 - libdb-4.1 update breaks some apps linked with explicit version number
Summary: libdb-4.1 update breaks some apps linked with explicit version number
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Paul de Vrieze (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-11 15:03 UTC by Andrea Barisani (RETIRED)
Modified: 2004-02-12 01:10 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrea Barisani (RETIRED) gentoo-dev 2004-02-11 15:03:48 UTC
This week db-4.1.x was marked stable, upgrading to the new lib does not unmerge the 
old db-4.0.x, however if db-4.0.x is manually unmerged some apps like sendmail and 
nss_ldap breaks since they are dynamically linked with libdb-4.0.so.

I strongly suggest warning the users about this like openssl-0.9.7 does, telling users to
perfrom 'revdep-rebuild --soname libdb-4.0' or something like that.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Paul de Vrieze (RETIRED) gentoo-dev 2004-02-12 01:10:39 UTC
Actually some programs will only work with db-4.0. Actually I believe it would be a fairly normal situation for a user to have a number of db's installed in paralel. Basically the db ebuilds have been built in such a way that they slot well, and can live in paralel. It is true that in some cases apps need to be rebuild with db-4.1, but revdep rebuild is not the answer (it will get many false positives)

Also the db ebuilds are slotted (in contrary to openssl, which is not). Most issues develop when applications are build with multiple db versions in paralel.

ps. apps don't link to explicit version numbers, they link to the soname of a specific library file. The soname is required to change for an incompatible library change. As such -ldb (when libdb.so points to libdb-4.1) will actually create a dynamic link to libdb-4.1.so based not on the symlink, but on the soname specified when building the lib.

In short don't unmerge db-4.0* until you don't have apps that were linked with it. New compiles should automatically pick up new versions if they can use those versions.