[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Berkeley DB3 in incoming, BIG FAT WARNING!

Ok, I finally got db3 packages done, and uploaded to incoming. Sparc is
compiled by me, Joey Hess is getting i386 uploaded later.

A lot of things have been waiting for this. I am sending this as a HUGE
warning. This was my scenario with moving openldap to db3, and I suspect
it will apply for a lot of packages. Here is how the dep chain looked
after I recompiled, for slapd:

slapd --- libdb3
        \ libsasl7 --- libdb2

Note that libsasl7 was linked against libdb2, while slapd was linked
directly with libdb3. This was very very bad and caused slapd to give a
bus error. The only way I know around this is if you use dlopen to load
the libraries, but I doubt that is an option. So I had to relink libsasl7
against db3.

about db3 breaking things, the first thing I will ask for is output from
ldd, so save yourself the trouble and check yourself first. If libdb2 (or
even libdb1) is the problem, then make sure you still send me the ldd
output so I don't ask :)

The good news: It is very easy to convert libdb2 databases to libdb3. The
libdb3 package comes with a db_upgrade program that converts libdb2
databases to db3 format, *in place* (no dumping/importing). db3 also comes
with a db_dump185 program aswell.

Note, if you use libdb3 in your program, make SURE you add a build-depends
for libdb3-dev! Else your program will get built wrong on the other ports
by the autobuilders, and you will have conflicting dependencies, and lots
of bug reports from unhappy non-i386 users.


/  Ben Collins  --  ...on that fantastic voyage...  --  Debian GNU/Linux   \
`  bcollins@debian.org  --  bcollins@openldap.org  --  bcollins@linux.com  '

Reply to: