exim mit mysql support compiliert nicht

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
d0cd
Beiträge: 99
Registriert: 25.12.2002 23:39:14

exim mit mysql support compiliert nicht

Beitrag von d0cd » 19.01.2003 14:06:28

Hi,
ich versuche exim (stable) aus den Source-Packages zu compilieren aber jedesmal wenn ich die debian/editme-diff ändere bricht der Build Vorgang mit einem Fehler ab.

--- Ausschnitt aus der Original debian/editme-diff ---
-# LOOKUP_CDB=yes
-# LOOKUP_DNSDB=yes
-# LOOKUP_LDAP=yes
+LOOKUP_CDB=yes
+LOOKUP_DNSDB=yes
+LOOKUP_LDAP=yes
# LOOKUP_MYSQL=yes
-# LOOKUP_NIS=yes
+LOOKUP_NIS=yes
# LOOKUP_NISPLUS=yes
# LOOKUP_PGSQL=yes

@@ -351,7 +350,7 @@
# specified in INCLUDE.

# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
-# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq
+LOOKUP_LIBS=-lldap -llber
--- ende ---
--- Ausschnitt aus der editieren debian/editme-diff ---
-# LOOKUP_CDB=yes
-# LOOKUP_DNSDB=yes
-# LOOKUP_LDAP=yes
+LOOKUP_CDB=yes
+LOOKUP_DNSDB=yes
+LOOKUP_LDAP=yes
-# LOOKUP_MYSQL=yes
-# LOOKUP_NIS=yes
+LOOKUP_MYSQL=yes
+LOOKUP_NIS=yes
# LOOKUP_NISPLUS=yes
# LOOKUP_PGSQL=yes

@@ -351,7 +350,7 @@
# specified in INCLUDE.

# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
-# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq
+LOOKUP_LIBS=-lldap -llber -lmysqlclient
-- ende ---

Und noch der make Fehler:
---
[...]
gcc -c -O2 -g -Wall mysql.c
mysql.c:30: mysql.h: No such file or directory
make[3]: *** [mysql.o] Error 1
make[3]: Leaving directory `/home/admin/dev/exim-3.35/build-Linux-i386/lookups'

make[3]: Entering directory `/home/admin/dev/exim-3.35/build-Linux-i386/directors'
[...]
/bin/rm -rf ../drtables.o
make[3]: Leaving directory `/home/admin/dev/exim-3.35/build-Linux-i386/auths'
make[2]: *** No rule to make target `lookups/lookups.a', needed by `exim'. Stop.
make[2]: Leaving directory `/home/admin/dev/exim-3.35/build-Linux-i386'
make[1]: *** [go] Error 2
make[1]: Leaving directory `/home/admin/dev/exim-3.35'
make: *** [build] Error 2
---

Benutzeravatar
myx
Beiträge: 1091
Registriert: 17.02.2002 21:19:19
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Berlin

Beitrag von myx » 19.01.2003 14:32:42

Dir fehlt wahrscheinlich nur ein dev-Paket:
-->
http://packages.debian.org/cgi-bin/sear ... tories=yes

Gruß myx

d0cd
Beiträge: 99
Registriert: 25.12.2002 23:39:14

Beitrag von d0cd » 19.01.2003 15:01:05

Ja, danke.
Mir haben die mysql header gefehlt. Das compilieren geht jetzt soweit.
Aber wie kann ich das installierte exim gegen mein selbstkompiliertes ersetzen?
Das ist nicht ganz so einfach weil er, wenn ich es mit dpkg -i exim.deb installieren will meine es gibt eine konflikt mit exim bzw. mail-transport-agent :(

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 19.01.2003 20:10:21

Aus Deiner äusserung schliesse ich, dass Du eine Debian Paket mit "dh_make" erzeugt hast?

Du musst die Dateien im debian/ Verzeichnis anpassen, damit die Depends und Provides stimmen. Die fragliche Datei sollte debian/control sein. Wahrscheinlich fehlt eine Zeile ala "Provides: mta", allerdings weiss ich das nicht sooo genau.

Am einfachsten wird es sein, wenn Du Dir mittels "apt-get source exim" die Debian exim Sourcen besorgst (Du brauchst ein entsprechende "deb-src" Zeile in Deiner sources.list) und dort kannst Du dann nachschauen, wie der Debian Maintainer das gemacht hat. Evtl. Ist es sogar sinnvoller den exim aus den Debian Quellen zu bauen, oder das debian Verzeichnis komplett in Deinen Source Tree zu transplantieren...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

d0cd
Beiträge: 99
Registriert: 25.12.2002 23:39:14

Beitrag von d0cd » 20.01.2003 13:13:12

Entschuldigt. Ich habe mich unklar ausgedrückt. Ich habe in der Tat versucht das PAcket mittels dpkg-buildpackage aus den Debian-Sourcen zu bauen. Mein Problem war, dass ich vergessen hatte libmysqlclient10-dev zu installieren und den richtigen include Pfad anzugeben (siehe unten).

--- Auszug aus der funktionierenden editme-diff ---
-# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
+LOOKUP_INCLUDE=-I /usr/include/mysql
-# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq
+LOOKUP_LIBS=-lldap -llber -lmysqlclient
--- ende ---

Trotzdem vielen Dank für die Hilfe. Vielleicht brauche ich nochmal hilfe wenn ich versuche auch noch TLS Support reinzukmpilieren.

Antworten