Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 171081 - net-mail/cyrus-imapd does not compile with db-4.5
Summary: net-mail/cyrus-imapd does not compile with db-4.5
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
: 180172 182547 184680 (view as bug list)
Depends on:
Blocks: 178750
  Show dependency tree
 
Reported: 2007-03-15 20:42 UTC by Haldir
Modified: 2007-07-09 01:45 UTC (History)
12 users (show)

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


Attachments
p1.patch (p1.patch,682 bytes, patch)
2007-04-04 23:29 UTC, Csaba Tóth
Details | Diff
cyrus-imapd-2.2.12-r4.ebuild (cyrus-imapd-2.2.12-r4.ebuild,9.17 KB, text/plain)
2007-04-04 23:30 UTC, Csaba Tóth
Details
p2.patch (p2.patch,659 bytes, patch)
2007-05-01 16:32 UTC, Daniel
Details | Diff
cyrus-imap-2.2.12-r4.patch (cyrus-imap-2.2.12-r4.patch,420 bytes, patch)
2007-05-01 16:44 UTC, Daniel
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Haldir 2007-03-15 20:42:02 UTC
cyrus imapd 2.x.* (tried with latest 2.2. version and 2.3.7 in portage) with the current Berkeley DB 4.5, needs 4.3.xx to compile properly


Reproducible: Always

Steps to Reproduce:
1. install DB 4.5
2. emerge cyrus-imapd 2.x.*
3.

Actual Results:  
cyrusdb_berkeley.c: In function 'init':
cyrusdb_berkeley.c:176: error: 'DB_ENV' has no member named 'set_lk_max'
make[1]: *** [cyrusdb_berkeley.o] Error 1


Expected Results:  
no errors

http://www.teddy.ch/patches/cyrus-imap-2.3.7-berlekey-db-4.5.20-1.patch
Doesn't compile in 2.3.8 without patches either.


System uname: 2.6.19-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Thu, 15 Mar 2007 01:50:01 +0000
dev-java/java-config: 1.3.7, 2.0.31-r4
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.15-r1
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.20-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/"
LANG="de_DE@euro"
LC_ALL="de_DE@euro"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="apache2 apm arts berkdb bitmap-fonts cli cracklib crypt dri eds emboss encode esd foomaticdb fortran gdbm gpm gstreamer iconv imlib isdnlog libg++ libwww mad midi mikmod motif mp3 mpeg ncurses nptl nptlonly objc ogg oss pam pcre perl pppd python qt4 quicktime readline reflection sasl session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode vorbis x86 xml 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jesco Freund 2007-03-27 17:03:30 UTC
On the cyrus mailing list, a patch to remove the deprecated stuff from lib/cyrusdb_berkeley.c has been reported (see http://www.irbs.net/internet/info-cyrus/0612/0137.html). Maybe this helps fixing the problem.
Comment 2 Csaba Tóth 2007-04-04 21:25:11 UTC
the suggested patch worked for me :) soon i will upload an ebuild with the actualized patch :)
Comment 3 Csaba Tóth 2007-04-04 23:29:22 UTC
Created attachment 115481 [details, diff]
p1.patch
Comment 4 Csaba Tóth 2007-04-04 23:30:06 UTC
Created attachment 115483 [details]
cyrus-imapd-2.2.12-r4.ebuild
Comment 5 Csaba Tóth 2007-04-04 23:30:52 UTC
Comment on attachment 115483 [details]
cyrus-imapd-2.2.12-r4.ebuild

modified ebuild file to include the p1.patch
Comment 6 Csaba Tóth 2007-04-04 23:31:16 UTC
Comment on attachment 115481 [details, diff]
p1.patch

the db-patch
Comment 7 Csaba Tóth 2007-04-04 23:33:35 UTC
Really sorry for the mass mailing.

This patch works for me well.

tsabi
Comment 8 Daniel 2007-05-01 14:08:32 UTC
(In reply to comment #7)
> This patch works for me well.

Many thanks for your patch! But it only worked "partly" for me. ;-( That means:

Compilation against 4.5.x was successfull but imapd is linked against 4.3.x :-/

May  1 15:19:26 hostname imapd/master[24543]: about to exec /usr/lib/cyrus/imapd
May  1 15:19:27 hostname imapd/imaps[24543]: incorrect version of Berkeley db: compiled against 4.5.20, linked against 4.3.29
May  1 15:19:27 hostname imapd/imaps[24543]: Fatal error: wrong db version

I think that there is a problem regarding the bdb version (especially the version for the linkage ("-ldb-4.5" instead of "-ldb-4.3") detection within the cyrus-imapd build-environment, because db.h say's:

cat /usr/include/db.h| grep VERSION:
#define DB_VERSION_MAJOR        4
#define DB_VERSION_MINOR        5
#define DB_VERSION_PATCH        20
#define DB_VERSION_STRING       "Berkeley DB 4.5.20: (September 20, 2006)"
#define DB_MULTIVERSION       0x0000008 /* Multiversion concurrency control. */
...

Installed libraries are:

ls -al /usr/lib/libdb-*
lrwxrwxrwx 1 root root      11 Mar  7 10:20 /usr/lib/libdb-1.so -> libdb1.so.2
-rw-r--r-- 1 root root  721132 Feb 12 23:05 /usr/lib/libdb-3.2.a
-rw-r--r-- 1 root root     639 Feb 12 23:05 /usr/lib/libdb-3.2.la
-rwxr-xr-x 1 root root  525676 Feb 12 23:05 /usr/lib/libdb-3.2.so
lrwxrwxrwx 1 root root      12 Mar  7 10:20 /usr/lib/libdb-3.so -> libdb-3.2.so
-rw-r--r-- 1 root root 1053448 Feb 12 23:08 /usr/lib/libdb-4.1.a
-rw-r--r-- 1 root root     713 Feb 12 23:08 /usr/lib/libdb-4.1.la
-rwxr-xr-x 1 root root  784896 Feb 12 23:08 /usr/lib/libdb-4.1.so
-rw-r--r-- 1 root root 1176288 Feb 12 23:12 /usr/lib/libdb-4.2.a
-rw-r--r-- 1 root root     791 Feb 12 23:12 /usr/lib/libdb-4.2.la
-rwxr-xr-x 1 root root  870764 Feb 12 23:12 /usr/lib/libdb-4.2.so
-rw-r--r-- 1 root root 1242166 Oct 18  2006 /usr/lib/libdb-4.3.a
-rw-r--r-- 1 root root     799 Oct 18  2006 /usr/lib/libdb-4.3.la
-rwxr-xr-x 1 root root  928036 Oct 18  2006 /usr/lib/libdb-4.3.so
-rw-r--r-- 1 root root 1522388 Mar  7 10:20 /usr/lib/libdb-4.5.a
-rw-r--r-- 1 root root     800 Mar  7 10:20 /usr/lib/libdb-4.5.la
-rwxr-xr-x 1 root root 1146484 Mar  7 10:20 /usr/lib/libdb-4.5.so

Nevertheless config.log reports:

cat config.log | grep db
configure:7557: checking db.h usability
configure:7598: checking db.h presence
configure:7661: checking for db.h
configure:7722: i686-pc-linux-gnu-gcc -o conftest -O2 -march=pentium4 -fomit-frame-pointer -pipe   conftest.c  -lresolv  -ldb-4.4 >&5
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -ldb-4.4
| #include <db.h>
| db_create(NULL, NULL, 0);
configure:7722: i686-pc-linux-gnu-gcc -o conftest -O2 -march=pentium4 -fomit-frame-pointer -pipe   conftest.c  -lresolv  -ldb4.4 >&5
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -ldb4.4
| #include <db.h>
| db_create(NULL, NULL, 0);
configure:7722: i686-pc-linux-gnu-gcc -o conftest -O2 -march=pentium4 -fomit-frame-pointer -pipe   conftest.c  -lresolv  -ldb44 >&5
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -ldb44
| #include <db.h>
| db_create(NULL, NULL, 0);
...
ac_cv_header_db_h=yes
BDB_LIB=' -ldb-4.3'
CYRUSDB_OBJS='cyrusdb_flat.o cyrusdb_skiplist.o cyrusdb_quotalegacy.o cyrusdb_berkeley.o'
IMAP_LIBS=' -lsasl2 -lresolv -lssl -lcrypto   -lfl  -lresolv   -ldb-4.3'
LIBS='-lresolv -lssl -lcrypto   -lfl  -lresolv   -ldb-4.3'

Have you patched some other files, too?
Could it be gentoo-specific problem, because of gentoo's library filesystem layout?!
I'm a bit confused... ;-)
Comment 9 Daniel 2007-05-01 16:32:30 UTC
Created attachment 117853 [details, diff]
p2.patch

(In reply to comment #8)
Ok, now it's completly "fixed".

just anserwing myself...

> Have you patched some other files, too?
yes, uplinks (cyrus-imapd's) berkley-db-version detection m4 macro does not know  that db-4.5 is already available.

Here is a patch attached that corrects -ldb-4.5 linkage. Thus this second patch has to be applied within the ebuild, Tóth Csaba's ebuild has to be updated, too.
Comment 10 Daniel 2007-05-01 16:44:55 UTC
Created attachment 117854 [details, diff]
cyrus-imap-2.2.12-r4.patch

This is the patch for the above ebuild itself. It just executes "epatch" with my previously attached p2.patch.
Comment 11 Daniel 2007-05-01 16:45:46 UTC
Comment on attachment 117853 [details, diff]
p2.patch

-ldb-4.5 linkage-patch (BDB_LIB version detection)
Comment 12 Jakub Moc (RETIRED) gentoo-dev 2007-05-29 05:48:41 UTC
*** Bug 180172 has been marked as a duplicate of this bug. ***
Comment 13 Christian Faulhammer (RETIRED) gentoo-dev 2007-06-17 11:25:42 UTC
(In reply to comment #11)
> (From update of attachment 117853 [details, diff] [edit])
> -ldb-4.5 linkage-patch (BDB_LIB version detection)

 net-mail, that patch looks sane to me.  Could we get that in a stable version (or stable a new one) to push sys-libs/db forward?
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2007-06-19 08:01:07 UTC
*** Bug 182547 has been marked as a duplicate of this bug. ***
Comment 15 Christoph Mende (RETIRED) gentoo-dev 2007-07-08 18:07:14 UTC
since nobody seems to care about this, I've commited the patch for -r4
Comment 16 Jakub Moc (RETIRED) gentoo-dev 2007-07-09 01:45:27 UTC
*** Bug 184680 has been marked as a duplicate of this bug. ***