Салют трудяги,
Или что-то изменилось, или я просто не могу собрать postfix с
поддержкой mySQL для слаки 13.1
Использую этот слакбилд:
http://slackbuilds.org/repository/13.1/network/postfix/
но он без поддержки mySQL.
Читаю readme постфикса:
In order to build Postfix with mysql map support, you will need to add -
DHAS_MYSQL and -I for the directory containing the mysql headers, and the mysqlclient library (and libm) to AUXLIBS, for example:
make -f Makefile.init makefiles \
'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \
'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'
ОК, правим,
Было:
# TLS, and SASL support
# Postfix unfortunately does not use a handy ./configure script so you
# must generate the makefiles using (what else?) "make makefiles". The
# following includes support for TLS and SASL. It should automatically
# find PCRE and DB3 support. The docs have information for adding
# additional support such as MySQL or LDAP.
make makefiles \
CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS' \
AUXLIBS="-lssl -lcrypto"
make
make makefiles \
CCARGS='-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql' \
AUXLIBS="-lssl -lcrypto -L/usr/lib/mysql -lmysqlclient -lz -lm"
make
При попытке собрать получаю:
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c alldig.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c allprint.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c argv.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c argv_split.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c attr_clnt.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c attr_print0.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c attr_print64.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c attr_print_plain.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c attr_scan0.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c attr_scan64.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c attr_scan_plain.c
gcc -Wmissing-prototypes -Wformat -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" -DUSE_TLS -DHAS_MYSQL -I/usr/include/mysql -DHAS_PCRE -g -O -I. -DLINUX2 -c auto_clnt.c
In file included from auto_clnt.c:105:
/usr/include/mysql/events.h:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Event_parse_data'
/usr/include/mysql/events.h:29: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Event_db_repository'
/usr/include/mysql/events.h:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Event_queue'
/usr/include/mysql/events.h:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Event_scheduler'
/usr/include/mysql/events.h:47: error: expected ')' before 's'
/usr/include/mysql/events.h:70: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Events'
make: *** [auto_clnt.o] Error 1
make: *** [update] Error 1
Где собака порылось, в хидерсах мускуля, код постфикса или в /dev/hands?