Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Postfix mit mysql DB Unterstützung kompilieren

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Gesperrt
sir_one
Newbie
Newbie
Beiträge: 11
Registriert: 9. Jul 2004, 20:02
Wohnort: EHST

Postfix mit mysql DB Unterstützung kompilieren

Beitrag von sir_one »

Hallo Alle zusammen,

ich habe vor, laut der Howto unter http://postfix-howto.de/ einen Postfix mit mysql DB Unterstüzung zu konfigurieren unter SuSE 9.1 prof.

Der Artikel klingt sehr ansprechend, außerdem gab es im LINUX MAGAZIN 12/04 einen ähnlichen Artikel dazu.

Leider wird postfix nicht standartmäßig mit mysql Unterstützung von den Distributoren wie SuSE oder RedHat mitgeliefert, so muss man es neu kompilieren, nur dabei komme ich nicht weiter.

verwendete Software db-4.3.27, openssl 0.9.7e, mysql 4.1.8, cyrus-sasl 2.1.19, cyrus-imap 2.2.10 und postfix 2.1.5

der Befehl:

make makefiles 'CCARGS=-DUSE_SASL_AUTH -I/usr/local/include/sasl -I/usr/local/bdb/include -DUSE_SSL -I/usr/local/ssl/include' \
'AUXLIBS=-L/usr/local/lib -lsasl2 -L/usr/local/bdb/lib -L/usr/local/ssl/lib -lssl -lcrypto'

bringt diese Auschrift

set -e; for i in src/util src/global src/dns src/master src/postfix src/smtpstone src/sendmail src/error src/pickup src/cleanup src/smtpd src/local src/lmtp src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce src/pipe src/showq src/postalias src/postcat src/postconf src/postdrop src/postkick src/postlock src/postlog src/postmap src/postqueue src/postsuper src/qmqpd src/spawn src/flush src/verify src/virtual src/proxymap; do \
(set -e; echo "[$i]"; cd $i; rm -f Makefile; \
make -f Makefile.in Makefile MAKELEVEL=) || exit 1; \
done;
[src/util]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/global]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/dns]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/master]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postfix]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/smtpstone]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/sendmail]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/error]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/pickup]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/cleanup]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/smtpd]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/local]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/lmtp]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/trivial-rewrite]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/qmgr]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/oqmgr]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/smtp]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/bounce]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/pipe]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/showq]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postalias]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postcat]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postconf]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postdrop]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postkick]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postlock]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postlog]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postmap]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postqueue]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/postsuper]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/qmqpd]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/spawn]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/flush]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/verify]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
[src/virtual]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs; cat Makefile.in) >Makefile
[src/proxymap]
(set -e; echo "# DO NOT EDIT"; /bin/sh ../../makedefs && cat Makefile.in) >Makefile
rm -f Makefile; (set -e; /bin/sh makedefs && cat Makefile.in) >Makefile
(echo "# Do not edit -- this file documents how Postfix was built for your machine."; /bin/sh makedefs) >makedefs.tmp
set +e; if cmp makedefs.tmp conf/makedefs.out; then rm makedefs.tmp; \
else mv makedefs.tmp conf/makedefs.out; fi >/dev/null 2>/dev/null

ich habe es auch schon mit postfix version 2.1.4 probiert, der selbe Effekt.

Für einen hilfreichen Tip wäre ich sehr dankbar.

Danke schon im Voraus
Benutzeravatar
crazyrolf
Advanced Hacker
Advanced Hacker
Beiträge: 964
Registriert: 7. Apr 2004, 09:05
Wohnort: Odenthal

Beitrag von crazyrolf »

Falsch:
make makefiles 'CCARGS=-DUSE_SASL_AUTH -I/usr/local/include/sasl -I/usr/local/bdb/include -DUSE_SSL -I/usr/local/ssl/include' \
'AUXLIBS=-L/usr/local/lib -lsasl2 -L/usr/local/bdb/lib -L/usr/local/ssl/lib -lssl -lcrypto'

Die Verzeichnisse sind bei SUSE anders!

Selbstzensur siehe Unten!!!!!!!!!!!!!!!!!!!!!!!!!!!!

denke soist es richtig aber noch mal nachsehen schadet nicht.
das ist aber nut die unterstützung für sasl_auth nicht für mysql !!!!!

gruß Crazy
Zuletzt geändert von crazyrolf am 9. Jan 2005, 14:58, insgesamt 1-mal geändert.
Gruß crazyrolf
-EX-Moderator-Mail-
yap
Newbie
Newbie
Beiträge: 4
Registriert: 9. Jan 2005, 12:44

Beitrag von yap »

Hallo zusammen,

möchte auch Postfix mit MySQL kompilieren. Habe auf meinem Webserver Suse 9.2 mit den Standard RPMs mysql von Suse installiert. Diese Dateien liegen zum Teil, wie ich feststellen konnte unter /usr/bin.

Habe dann versucht Postfix mit MySQL Unterstützung zu kompilieren und habe eben diese Pfade nach der Suse MySQL Installation angepasst:

Code: Alles auswählen

make -f Makefile.init makefiles \
'CCARGS=-DHAS_MYSQL -I/usr/bin' \
'AUXLIBS=-L/usr/bin -lmysqlclient -lz -lm'
Anscheinend stimmt da aber ein Pfad nicht, weil er mir dann viel zu viele MySQL Fehler ausspuckt. Hier mal ein kleiner Auszug aus den letzten Zeilen:
dict_mysql.c: At top level:
dict_mysql.c:569: error: parse error before '->' token
dict_mysql.c:580: error: parse error before '*' token
dict_mysql.c: In function `host_init':
dict_mysql.c:583: error: `host' undeclared (first use in this function)
dict_mysql.c:583: error: parse error before ')' token
dict_mysql.c: In function `dict_mysql_close':
dict_mysql.c:629: error: `dict_mysql' undeclared (first use in this function)
dict_mysql.c:629: error: parse error before ')' token
dict_mysql.c: At top level:
dict_mysql.c:649: error: parse error before '*' token
dict_mysql.c:650: warning: `plmysql_dealloc' was used with no prototype before its definition
dict_mysql.c: In function `plmysql_dealloc':
dict_mysql.c:653: error: `PLDB' undeclared (first use in this function)
make: *** [dict_mysql.o] Error 1
make: *** [update] Error 1
make: *** [update] Error 2
Weiß jemand wie der Befehl zum compilen für Postfix mit MySQL unter Suse 9.2 lauten muss? Oder wie die Pfade für MySQL heißen?

Danke
Benutzeravatar
crazyrolf
Advanced Hacker
Advanced Hacker
Beiträge: 964
Registriert: 7. Apr 2004, 09:05
Wohnort: Odenthal

Beitrag von crazyrolf »

hab gerade neu kompiliert mysql und saslauthd
Vorher mysql devil usw. installieren auch sasl2 Cyrus wenn nicht schon drauf.
Postfix sorce runterladen, auspacken und dann im ausgepackten Verzeichniss diesen Befehl eingeben. (SuSE 9.2) Ansonsten Verzeichnisse überprüfen!
Befehl:

Code: Alles auswählen

make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/include/sasl -DUSE_SSL -I/usr/include -DHAS_MYSQL -I/usr/include/mysql" AUXLIBS="-L/usr/lib/sasl2/lib -L/usr/lib -L/usr/lib/mysql -lsasl2 -lssl -lcrypto -lmysqlclient -lz -lm"
Danach ein

Code: Alles auswählen

 make upgrade
Jetzt hast du mysql und auch sasl Unterstützung.

Gruß Crazy
Gruß crazyrolf
-EX-Moderator-Mail-
yap
Newbie
Newbie
Beiträge: 4
Registriert: 9. Jan 2005, 12:44

Beitrag von yap »

:D Suuuper, hat funktioniert. Ich danke dir.

mfg yap
Benutzeravatar
crazyrolf
Advanced Hacker
Advanced Hacker
Beiträge: 964
Registriert: 7. Apr 2004, 09:05
Wohnort: Odenthal

Beitrag von crazyrolf »

kein problem

crazy
Gruß crazyrolf
-EX-Moderator-Mail-
Gesperrt