PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cyrus Imap lässt sich nicht Compilieren



Marz
15.11.05, 15:35
Ich habe Slackware 10.1 .Mit slapt lässt sich nur sasl installieren und nicht cyrus-imap(wisst ihr wo es binarys gibt?).
Ich habe mir also die sourcen von http://asg.web.cmu.edu/cyrus/imapd/ geladen in der Version 2.2.12. Leider bricht er make mit folgender Meldung:


/cyrusdb_berkeley.c:854: undefined reference to `txn_commit'
../lib/libcyrus.a(cyrusdb_berkeley.o)(.text+0x1625): In function `mycommit':
/root/cyrus-imapd-2.2.12/lib/cyrusdb_berkeley.c:900: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_berkeley.o)(.text+0x1641):/root/cyrus-imapd-2.2.12/lib/cyrusdb_berkeley.c:902: undefined reference to `txn_commit'
../lib/libcyrus.a(cyrusdb_berkeley.o)(.text+0x1705): In function `abort_txn':
/root/cyrus-imapd-2.2.12/lib/cyrusdb_berkeley.c:939: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_berkeley.o)(.text+0x171d):/root/cyrus-imapd-2.2.12/lib/cyrusdb_berkeley.c:941: undefined reference to `txn_abort'
collect2: ld returned 1 exit status
make[1]: *** [sievec] Error 1
make[1]: Leaving directory `/root/cyrus-imapd-2.2.12/sieve'
make: *** [all] Error 1


Ich weiß nicht weiter. Habt ihr ein Tip?

THX Marz

Marz
15.11.05, 18:32
Kann mir den keiner helfen ???
Ich habe auch schon aeltere Versionen ausprobiert, da passiert das selbe.

:confused:

xanlosch
15.11.05, 20:59
Soweit ich das selber via Google herausbekommen habe, hängt das mit der Version der Berkeley DB zusammen. Welche Version hast du von dieser ?

MiGo
16.11.05, 10:14
Wahrscheinlich wird irgendwas fehlen; du hast leider den uninteressanten Teil der Fehlermeldung gepostet.
Weiter oben wird recht sicher sowas wie ": file not found" stehen, anhand dessen du ermitteln kannst, was fehlt.

miGo

Marz
17.11.05, 12:55
Also ich poste jetzt nochmal die fehlermeldung:



gcc -c -I. -I.. -I. -I./../lib -I./../sieve -I./../acap -I../acap -I./../et -I./ ../sieve -I/usr/local/lib/sasl2//include -DHAVE_CONFIG_H -Wall -g -O2 \
idle_poll.c
rm -f libimap.a
ar cr libimap.a append.o mailbox.o mboxlist.o mupdate-client.o mboxname.o messag e.o config.o imap_err.o mupdate_err.o proc.o setproctitle.o convert_code.o dupli cate.o saslclient.o saslserver.o acapmbox.o signals.o annotate.o search_engines. o squat.o squat_internal.o mbdump.o imapparse.o telemetry.o user.o notify.o seen _db.o idle_poll.o
ranlib libimap.a
gcc -L/usr/local/lib -Wl,-rpath,/usr/local/lib -o imapd \
../master/service.o pushstats.o backend.o imapd.o index.o tls.o version.o libim ap.a ../acap/libacap.a ../lib/libcyrus.a -L/usr/local/lib/sasl2//lib -Wl,-rpat h,/usr/local/lib/sasl2//lib -lsasl2 -lssl -lcrypto -lfl -lresolv -ldb-4 .. /et/libcom_err.a -lwrap -lnsl
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x30d): In function `mysync':
/root/cyrus-imapd-2.1.18/lib/cyrusdb_db3.c:240: undefined reference to `txn_chec kpoint'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x3f8): In function `myarchive':
/root/cyrus-imapd-2.1.18/lib/cyrusdb_db3.c:270: undefined reference to `log_arch ive'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x47f):/root/cyrus-imapd-2.1.18/lib/cyrus db_db3.c:291: undefined reference to `log_archive'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x517):/root/cyrus-imapd-2.1.18/lib/cyrus db_db3.c:319: undefined reference to `log_archive'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x861): In function `gettid':
/root/cyrus-imapd-2.1.18/lib/cyrusdb_db3.c:403: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x875):/root/cyrus-imapd-2.1.18/lib/cyrus db_db3.c:406: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x8cc):/root/cyrus-imapd-2.1.18/lib/cyrus db_db3.c:409: undefined reference to `txn_begin'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x8de):/root/cyrus-imapd-2.1.18/lib/cyrus db_db3.c:416: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1057): In function `mystore':
/root/cyrus-imapd-2.1.18/lib/cyrusdb_db3.c:705: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1071):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:707: undefined reference to `txn_abort'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x10a0):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:688: undefined reference to `txn_begin'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x10b3):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:695: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1118):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:719: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1137):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:721: undefined reference to `txn_commit'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x137d): In function `mydelete':
/root/cyrus-imapd-2.1.18/lib/cyrusdb_db3.c:814: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1397):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:816: undefined reference to `txn_abort'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x13bf):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:798: undefined reference to `txn_begin'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x13d5):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:805: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1438):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:828: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1457):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:830: undefined reference to `txn_commit'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x150a): In function `mycommit':
/root/cyrus-imapd-2.1.18/lib/cyrusdb_db3.c:876: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1526):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:878: undefined reference to `txn_commit'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x15ea): In function `abort_txn':
/root/cyrus-imapd-2.1.18/lib/cyrusdb_db3.c:915: undefined reference to `txn_id'
../lib/libcyrus.a(cyrusdb_db3.o)(.text+0x1602):/root/cyrus-imapd-2.1.18/lib/cyru sdb_db3.c:917: undefined reference to `txn_abort'
collect2: ld returned 1 exit status
make[1]: *** [imapd] Error 1
make[1]: Leaving directory `/root/cyrus-imapd-2.1.18/imap'
make: *** [all] Error 1


Ich habe folgende Versionen des cyrus-imap ausprobiert:
2.1.18
2.2.12

sasl habe ich folgende versionen ausprobiert:
2.1.21

vielen dank fuer eure hilfe ich muss den cyros imap unbedingt zum laufen bekommen ...

PS: habe jetzt noch sasl-2.1.20 getestet ... es kommt immer der selbe fehler :(

xanlosch
17.11.05, 15:23
Welche Version der Berkely DB hast du installiert ? Dein Fehler kommt ja, laut meinen obigen Recherchen, davon.

Marz
17.11.05, 18:45
Berkely DB?
Was ist die Berkely DB? Ist das nicht die libsasl ...
Danke für die Aufklärung.

PS: Ich habe via slapt folgendes gefunden:


byacc-1.9-i386-1 [inst=yes]: byacc (Berkeley Yacc parser generator)
cups-1.1.23-i486-1 [inst=yes]: CUPS (Common UNIX Printing System)
db3-3.3.11-i486-4 [inst=yes]: db3 (Berkeley database library version 3)
db31-3.1.17-i486-1 [inst=yes]: db31 (Berkeley database library version 3.1)
db4-4.2.52-i486-2 [inst=yes]: db4 (Berkeley database library version 4)
indent-2.2.9-i386-1 [inst=yes]: indent (changes the appearance of a C program)
nail-11.20-i486-1 [inst=yes]: nail (a simple mail client)
p2c-1.21alpha2-i386-1 [inst=no]: p2c (Pascal to C translator)
tcsh-6.13.00-i486-1 [inst=yes]: tcsh (C shell)
byacc-1.9-i386-1 [inst=yes]: byacc (Berkeley Yacc parser generator)
cups-1.1.23-i486-1 [inst=yes]: CUPS (Common UNIX Printing System)
db3-3.3.11-i486-4 [inst=yes]: db3 (Berkeley database library version 3)
db31-3.1.17-i486-1 [inst=yes]: db31 (Berkeley database library version 3.1)
db4-4.2.52-i486-2 [inst=yes]: db4 (Berkeley database library version 4)
indent-2.2.9-i386-1 [inst=yes]: indent (changes the appearance of a C program)
nail-11.24-i486-1 [inst=no]: nail (a simple mail client)
p2c-1.21alpha2-i386-1 [inst=no]: p2c (Pascal to C translator)
tcsh-6.14.00-i486-1 [inst=no]: tcsh (C shell)


Es scheinen mehrere Versionen Installiert zu sein ... ?!
Könnt ihr mir genau sagen was diese DB macht ... THX

xanlosch
17.11.05, 21:32
Mit Hilfe der Berkeley DB (Database = Datenbank) kann man Datenbanken erstellen bzw. auf vorhandene über eine definierte Schnittstellenbeschreibung zugreifen.

Worin jetzt genau der Konflikt besteht, weiß ich 100%ig noch nicht, aber scheinbar wird beim Linken die falsche genommen.

Versuch es einmal so, dass du alle bis auf eine deinstallierst, damit configure und make durchlaufen lässt. Geht es mit der Version nicht, dann deinstalliere diese Version und probier die nächste aus.

Marz
20.11.05, 11:51
Oh man das ist zum HEULEN! :(
Ich hab das gemacht was xanlosch vorgeschlagen hat. Ich hab auch nochmal mir dir Berkeley DB von

http://dev.sleepycat.com/downloads/optreg.html?fname=db-3.3.11.tar.gz&prod=core
geholt und damit versucht den cyrus imap zum laufen zu bekommen.
Ich weiß echt nichtmehr weiter ... Es muss doch aber ihrgendwie gehen!

MArz

xanlosch
20.11.05, 14:01
Ich hab mal den Cyrus-Imap-Server auf meinen LFS-System übersetzen lassen, wobei ich nur ein einfaches ./configure && make gemacht habe.

Es kann sein, dass die Berkeley DB bei dir zu alt ist, da ich eine 4.3.28 Version verwende, aber du laut deinen Angaben eine maximale Version 4.2.52 nutzt.

Am besten du nimmst mal die Version 4.3.28 der Berkeley DB. Ich hab sie nach der Beyond LinuxFromScratch Anleitung (http://www.linuxfromscratch.org/blfs/view/stable/server/databases.html#db) installiert.

Probier es am besten mal aus.

Edit: Gibt es den Cyrus-Imap-Server nicht bei Slackware ?

Marz
20.11.05, 21:34
Das bietet slapt-get an:


imapd-4.62-i486-1 [inst=no]: imapd (IMAP4rev1 from pine4.62)
imapd-4.63-i486-1 [inst=no]: imapd (IMAP4rev1 from pine4.63)

Das ist aber nicht cyrus ... schon weil da die administrativen tools fehlen.
Ich werd es mal versuchen nach der Anleitung danke!!!

Juchhu es hat gefunzt!
PS: Es kam aber bei "make install" bei cyrus imap zu einer fehlermeldung


/usr/bin/ginstall: writing `/usr/cyrus/bin/squatter': No space left on device
make[1]: *** [install] Error 1
make[1]: Leaving directory `/root/cyrus-imapd-2.2.12/imap'
make: *** [install] Error 1


Da muss ich wohl mal platz machen :) ... nach "make clean" waren gleich mal 50 mb wieder frei =-0