Hi all, * if you don't want the explanation, skip to *********
I believe I have finally found a solution to the problems that plague berkeley db. While slotting has worked for a long time now, there were serious problems caused by the fact that db is often used within libraries. Some of these libraries namely use different db versions, but end up in the same executable. As a result a symbol collision occurs, and the wrong code is used. Corrupting the databases. To this end db-4.{0,1,2}.x use the --with-uniquename hack. This hack appends some magic string after all symbols and as such makes them unique. This has various drawbacks, including the fact that many configure scripts do not expect this. db-4.3 and db-4.4 do not support this hack any longer. It for example also conflicts with dbxml (also from sleepycat aka oracle). To solve this I've delved into the ld manual pages, performed some tests and found that the linker also has a similar uniquename trick, but performs it much better. It is called symbol versioning, and as long as things go right, it should be completely transparent. If things go wrong, it will signal it instead of using the wrong implementations. Symbol versioning can be done by way of a linking script, but for our purposes much easier, there is a command line option. This option "--default-symver" will use the soname as the version of all unversioned symbols (those that have no other version assigned). This option should be safe to use with almost all libraries, and might be a solution to some problems with libraries being linked twice (libstdc++ anyone). ********* Ok, after the explanation, I would like people to test the change. To this I would ask people who do not shy away from more or less serious recompiles to unmask db and merge either db-4.3.29 or db-4.4.20. Both ebuilds should be stable except for upgrade issues. The new changes should fix that. If you want to test upgrade issues specifically, be aware that they only occur when going from db-4.3 to db-4.4 as db-4.2 still uses the uniquename hack. Thanks, Paul ps. Openldap people, the sooner you test, the sooner you get a new db version :-P -- Paul de Vrieze Gentoo Developer Mail: [EMAIL PROTECTED] Homepage: http://www.devrieze.net
pgpbk3CMSsdr9.pgp
Description: PGP signature