PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cyrus kompilieren



detonation997
02.07.03, 09:16
Das Problem ist nicht unbedingt Cyrus spezifisch, aber da es beim Kompilieren von diesem aufgetreten ist, erwähn ich "ihn" (Cyrus) halt.

Ich habe mit erfolgreich (fast) alle Komponenten von Cyrus per Hand kompiliert. Dazu gehören die Berkeley DB 4.1.25, OpenSSL 0.9.7b, cyrus-sasl-2.1.14 und cyrus-imapd-2.1.13.
Die Installationsverzeichnisse sind dann:

/usr/local/db-4.1.25 für Berkeley DB
/usr/local/openssl-0.9.7b für OpenSSL
/usr/local/cyrus-sasl-2.1.14 für die SASL Bibliothek
/usr/local/cyrus-imapd-2.1.13 für Cyrus selbst

/usr/local/src/db-4.1.25 für die BDB Sourcen
/usr/local/src/openssl-0.9.7b für die OpenSSL Sourcen
/usr/local/src/cyrus-sasl-2.1.14 für die SASL Bibliothek Sourcen
/usr/local/src/cyrus-imapd-2.1.13 für die Cyrus Sourcen

Wenn ich jetzt "cyradm" kompilieren will (das ist hauptsächlich so ein zu kompilierendes Perl Modul), dann schreibt er mir hin, dass ihm die SASL2 Library fehlt (wohl gemerkt - die ist bereits installiert).

Bei Betrachtung des "Makefile.PL" fiel mir auf, dass der Pfad zur SASL Bibliothek per
my $sasl_lib = $ENV{$SASL_LIB} || "-lsasl2"; (oder so ähnlich, ich sitz gerade nicht vor meinem eigenen Rechner)
ermittelt wird.

Jetzt stellt sich die Frage, wohin die SASL_LIB - Umgebungsvariable zeigen muss (Sourcen, kompilierte Libraries?),
oder
wie das Flag für den Compiler (ich schätz "-lsasl2" ist für gcc oder g++) sein muss, damit er die Library findet...

Danke schon im Voraus

mfg Rainer

Berthold
02.07.03, 11:11
Die Umgebungsvariable muss auf den Pfad für die Library zeigen.
Und das wäre ja wohl
/usr/local/cyrus-sasl-2.1.14
Das solltest du eintragen, bspw. global in /etc/profile, denn es könnte noch gebraucht werden.

Du kannst zusätzlich aber auch
/usr/local/cyrus-sasl-2.1.14
in /etc/ld.so.conf
eintragen.

Ich mach das jedenfalls immer, wenn eine selbst compilete Lib nicht in /usr/local/lib steht.
(Das sollte da natürlich auch drin stehen.)
Und dann halt
ldconfig -v

Gruß
Berthold