Gentoo Archives: gentoo-dev

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Berkeley DB, coexistence of different versions
Date: Tue, 13 Sep 2005 02:25:25
Message-Id: 20050913022300.GB14440@curie-int.orbis-terrarum.net
In Reply to: [gentoo-dev] Berkeley DB, coexistence of different versions by Stefaan
1 On Tue, Sep 13, 2005 at 12:50:47AM +0200, Stefaan wrote:
2 > Hi all!!
3 >
4 > Here's an issue Seemant and I have been struggling with, and doesn't
5 > seem as easy to solve as like touching one ebuild.
6 You're making the problem seem much larger than it is.
7
8 Pauldv and myself have been managing berkdb pretty well, I haven't seen
9 bugs on it in a long time.
10 >
11 > Berkeley DB comes in many flavors. Judging by the slots in the
12 > ebuilds (1, 3, 4, 4.1, 4.2, 4.3) there's many different interface
13 > versions. This comes with the added fun of having packages depend on
14 > certain versions of DB. Nothing shocking so far.
15 >
16 > However, looking at the heimdal-package we noticed several problems
17 > (which seem to be more widespread than just heimdal):
18 [snip]
19
20 Fix your package to compile with any version of db, that's the general
21 approach that has been taken so far, and it's been largely successful.
22
23 You should use these libraries and headers:
24 /usr/lib/libdb.{so,a}
25 /usr/include/db.h
26
27 If you want to limit it to a certain reason of DB for some other
28 reason, then consider /usr/include/db1, /usr/include/db3,
29 /usr/include/db4, /usr/include/db4.X.
30
31 And use the unversioned functions (db_create instead of db_create_4002).
32 To deal with the varying number of arguments, have a look at
33 PHP/nss_ldap - the fix is pretty simple, just an extra argument if the
34 version is 4 or newer (IIRC, but check).
35
36 Detection of some specific version is bad! Just figure out what major
37 version, and do the correct thing for that series.
38
39 In a bunch of cases, the best approach has been to just rip out
40 upstreams stuff from configure.in, and write it properly, and submit it
41 back to them (definetly see PHP4 in this regard).
42
43 Also take a look at db4-fix.eclass.
44
45 You claim the interface versions have changed, but the code is still
46 largely compatible. What's a larger issue is the fact that you can
47 upgrade an existing database, but not downgrade it.
48
49 If you are stuck updating the package for this, then give me or pauldv
50 a shout.
51
52 --
53 Robin Hugh Johnson
54 E-Mail : robbat2@××××××××××××××.net
55 Home Page : http://www.orbis-terrarum.net/?l=people.robbat2
56 ICQ# : 30269588 or 41961639
57 GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85

Replies

Subject Author
Re: [gentoo-dev] Berkeley DB, coexistence of different versions Paul de Vrieze <pauldv@g.o>