• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Postfix mit mysql DB Unterstützung kompilieren

Status
Für weitere Antworten geschlossen.

sir_one

Newbie
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
 

crazyrolf

Advanced Hacker
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
 

yap

Newbie
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:
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
 

crazyrolf

Advanced Hacker
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:
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:
 make upgrade

Jetzt hast du mysql und auch sasl Unterstützung.

Gruß Crazy
 
Status
Für weitere Antworten geschlossen.
Oben