FreeBSD 10.4Postfix из портов собирается без MySQL
Конфигурю - ставлю соответствующую галку:
Makefile:
OPTIONS_DEFINE= BDB CDB DOCS INST_BASE LDAP LDAP_SASL LMDB MYSQL \
NIS PCRE PGSQL SASL SQLITE TEST TLS
MYSQL_USE= MYSQL=yes
Компилится без ошибок
Проверяю, вроде в порядке:#postconf -m:
btree
cidr
environ
fail
hash
inline
internal
memcache
mysql
pcre
pipemap
proxy
randmap
regexp
socketmap
static
tcp
texthash
unionmap
unix
Запускаю, в maillog ругается:Nov 21 00:45:43 leg2 postfix/smtpd[30829]: warning: unsupported dictionary type: mysql (no/postfix-mysql.so: No such file or directory)
В чём косяк?
Спасибо.З.Ы.
Компилю из исходников той жк версии скачаной с postfix.org - взлетает без проблем.
# ll /usr/lib/postfix/
total 720
-rwxr-xr-x 1 root wheel 28928 Nov 21 00:28 libpostfix-dns.so*
-rwxr-xr-x 1 root wheel 273424 Nov 21 00:28 libpostfix-global.so*
-rwxr-xr-x 1 root wheel 37672 Nov 21 00:28 libpostfix-master.so*
-rwxr-xr-x 1 root wheel 98176 Nov 21 00:28 libpostfix-tls.so*
-rwxr-xr-x 1 root wheel 254504 Nov 21 00:28 libpostfix-util.so*
-rwxr-xr-x 1 root wheel 16096 Nov 21 00:28 postfix-mysql.so* --ВОТ ОНА ЛЕЖИТ
-rwxr-xr-x 1 root wheel 15304 Nov 21 00:28 postfix-pcre.so*
MySQL 5.6 стоит, из тех же портов
И сервер и клиент
Dovecot к нему нормально обращается
> Nov 21 00:45:43 leg2 postfix/smtpd[30829]: warning: unsupported dictionary type: mysql
> (no/postfix-mysql.so: No such file or directory)1) no-no-no...
2) ldd postfix-mysql.so
> 1) no-no-no...
> 2) ldd postfix-mysql.so1. При компиляции из исходников с postfix.org файла "postfix-mysql.so" вообще нет
2. При компиляции из портов смогу проверить ближайшей ночью..
Поправка
1. При компиляции из исходников файла "postfix-mysql.so" вообще нет (но postfix при этом работает!)
2. При компиляции из портов смогу проверить ближайшей ночью..
>> 1) no-no-no...
>> 2) ldd postfix-mysql.so
> 1. При компиляции из исходников с postfix.org файла "postfix-mysql.so" вообще нет
> 2. При компиляции из портов смогу проверить ближайшей ночью..ладно, еще раз пройдемся по пункту 1
# cat postfix/dynamicmaps.cf
в каком месте возникло *no*/postfix-mysql.so ?
> ладно, еще раз пройдемся по пункту 1
> # cat postfix/dynamicmaps.cf
> в каком месте возникло *no*/postfix-mysql.so ?В данный момент файла dynamicmaps.cf нету, но postfix (из исходников) пашет, как заведённый
Ночью смогу перекомпилить (из портов), создать dynamicmaps.cf и проверить
> В данный момент файла dynamicmaps.cf нету, но postfix (из исходников) пашет, как
> заведённый
> Ночью смогу перекомпилить (из портов), создать dynamicmaps.cf и проверитьСнова скомпилился из портов и при старте та же ошибка:
Nov 21 19:35:08 leg2 postfix/master[84639]: daemon started -- version 3.2.3, configuration /etc/postfix
Nov 21 19:35:08 leg2 postfix/qmgr[84641]: 1992C2ADDDC: from=<*************>, size=3090552, nrcpt=1 (queue active)
Nov 21 19:35:08 leg2 postfix/cleanup[84642]: warning: unsupported dictionary type: mysql (no/postfix-mysql.so: No such file or directory)
Nov 21 19:35:08 leg2 postfix/cleanup[84642]: error: unsupported dictionary type: mysql
Nov 21 19:35:08 leg2 postfix/cleanup[84642]: warning: unsupported dictionary type: mysql (no/postfix-mysql.so: No such file or directory)
По-прежнему:
# postconf -m
btree
cidr
environ
fail
hash
inline
internal
memcache
mysql ########## В НАЛИЧИИ
pcre
pipemap
proxy
randmap
regexp
socketmap
static
tcp
texthash
unionmap
unix
# cat /etc/postfix/dynamicmaps.cf
mysql /usr/lib/postfix/postfix-mysql.so dict_mysql_open
pcre /usr/lib/postfix/postfix-pcre.so dict_pcre_open# ll /usr/lib/postfix/
total 720
-rwxr-xr-x 1 root wheel 28928 Nov 21 19:33 libpostfix-dns.so*
-rwxr-xr-x 1 root wheel 273424 Nov 21 19:33 libpostfix-global.so*
-rwxr-xr-x 1 root wheel 37672 Nov 21 19:33 libpostfix-master.so*
-rwxr-xr-x 1 root wheel 98176 Nov 21 19:33 libpostfix-tls.so*
-rwxr-xr-x 1 root wheel 254504 Nov 21 19:33 libpostfix-util.so*
-rwxr-xr-x 1 root wheel 16096 Nov 21 19:33 postfix-mysql.so*
-rwxr-xr-x 1 root wheel 15304 Nov 21 19:33 postfix-pcre.so*
А вот здесь почему-то нету:
# ldd /usr/sbin/postfix
/usr/sbin/postfix:
libpostfix-global.so => /usr/lib/postfix/libpostfix-global.so (0x801603000)
libpostfix-util.so => /usr/lib/postfix/libpostfix-util.so (0x801846000)
libicuuc.so.60 => /usr/local/lib/libicuuc.so.60 (0x801a85000)
libssl.so.7 => /usr/lib/libssl.so.7 (0x801e46000)
libcrypto.so.7 => /lib/libcrypto.so.7 (0x8020b2000)
libicui18n.so.60 => /usr/local/lib/libicui18n.so.60 (0x802600000)
libicudata.so.60 => /usr/local/lib/libicudata.so.60 (0x802ace000)
libc.so.7 => /lib/libc.so.7 (0x800822000)
libthr.so.3 => /lib/libthr.so.3 (0x802ccf000)
libm.so.5 => /lib/libm.so.5 (0x802ef3000)
libc++.so.1 => /usr/lib/libc++.so.1 (0x80311c000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x8033dc000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x8035f9000)
# ldd /usr/lib/postfix/postfix-mysql.so
/usr/lib/postfix/postfix-mysql.so:
libmysqlclient.so.18 => /usr/local/lib/mysql/libmysqlclient.so.18 (0x801800000)
libz.so.6 => /lib/libz.so.6 (0x801d50000)
libm.so.5 => /lib/libm.so.5 (0x801f67000)
libc.so.7 => /lib/libc.so.7 (0x800822000)
libssl.so.7 => /usr/lib/libssl.so.7 (0x802190000)
libcrypto.so.7 => /lib/libcrypto.so.7 (0x8023fc000)
libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x8027f4000)
libc++.so.1 => /usr/lib/libc++.so.1 (0x8029f7000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x802cb7000)
libthr.so.3 => /lib/libthr.so.3 (0x802ed4000)
libelf.so.1 => /usr/lib/libelf.so.1 (0x8030f8000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x80330d000)# ll /usr/local/lib/mysql/libmysqlclient.so.18
-rwxr-xr-x 1 root wheel 3453112 Nov 16 21:35 /usr/local/lib/mysql/libmysqlclient.so.18*
Такое ощущение, что игнорируется /etc/postfix/dynamicmaps.cf
> Такое ощущение, что игнорируется /etc/postfix/dynamicmaps.cfЛяха-муха!
# cat /usr/libexec/postfix/dynamicmaps.cf.d/mysql.cf
mysql postfix-mysql.so dict_mysql_openИсправляем на:
mysql /usr/lib/postfix/postfix-mysql.so dict_mysql_openВот запрятали-то.. И вдобавок полный путь не прописали..
!!!_ВСЕМ__СПАСИБО_!!!
!!!_ВОПРОС_ЗАКРЫТ_!!!
>> Такое ощущение, что игнорируется /etc/postfix/dynamicmaps.cf
> Ляха-муха!
> # cat /usr/libexec/postfix/dynamicmaps.cf.d/mysql.cf
> mysql postfix-mysql.so dict_mysql_open
> Исправляем на:
> mysql /usr/lib/postfix/postfix-mysql.so dict_mysql_open
> Вот запрятали-то.. И вдобавок полный путь не прописали..вот кто-то не понимает что оставил ошметки от ручной сборки
и получил по морде от сборки порта и несоответствия месторасположения
библиотек и meta_dir, если память не изменяет...> !!!_ВСЕМ__СПАСИБО_!!!
> !!!_ВОПРОС_ЗАКРЫТ_!!!да нет, не закрыт...
Вы такими телодвижениями систему изуродуете, уже изуродовали:
/usr/lib - системные библиотеки, а Вы в них всяких хлам от
ручной сборки засунули, который не вычистили и будет
у Вас пара комплектов: /usr/lib и /usr/local/lib, /usr/libexec и /usr/local/libexec,
потом будете удалять установленные пакеты или апгрейдить порты
и получите в лоб, будете ломать голову и винить систему
и порты, аналогично и с headers...Вот это и будет свистопляска, а верхнее, так семечки от нежеления
читать install postfix и изучения makefiles
>[оверквотинг удален]
> да нет, не закрыт...
> Вы такими телодвижениями систему изуродуете, уже изуродовали:
> /usr/lib - системные библиотеки, а Вы в них всяких хлам от
> ручной сборки засунули, который не вычистили и будет
> у Вас пара комплектов: /usr/lib и /usr/local/lib, /usr/libexec и /usr/local/libexec,
> потом будете удалять установленные пакеты или апгрейдить порты
> и получите в лоб, будете ломать голову и винить систему
> и порты, аналогично и с headers...
> Вот это и будет свистопляска, а верхнее, так семечки от нежеления
> читать install postfix и изучения makefilesНет, Вы не правы.
Я делал контрольную сборку с удалением всех предыдущих файлов.
Всё раскладывается именно так, как я указал.Вообще я компилил с опцией:
[X] INST_BASE Install into /usr and /etc/postfix
Может поэтому местоположения получились странные.
>[оверквотинг удален]
>> и получите в лоб, будете ломать голову и винить систему
>> и порты, аналогично и с headers...
>> Вот это и будет свистопляска, а верхнее, так семечки от нежеления
>> читать install postfix и изучения makefiles
> Нет, Вы не правы.
> Я делал контрольную сборку с удалением всех предыдущих файлов.
> Всё раскладывается именно так, как я указал.
> Вообще я компилил с опцией:
> [X] INST_BASE Install into /usr and /etc/postfix
> Может поэтому местоположения получились странные.почему странные, именно то что Вы задали, это ж не было озвучено ранее,
в этом случае все законно, предпочитаю так не делать, чтобы не иметь
проблем с апгрейдом ОС.
> предпочитаю так не делать, чтобы не иметь
> проблем с апгрейдом ОС.Postfix считаю заменой sendmail (который часть системы) и поэтому в /usr/
Всё остальное - ставлю в /usr/local/
>> предпочитаю так не делать, чтобы не иметь
>> проблем с апгрейдом ОС.
> Postfix считаю заменой sendmail (который часть системы) и поэтому в /usr/
> Всё остальное - ставлю в /usr/local/да что это такое? да в конце-то концов, да с конца на конец!
лучше делать как лавр подсказывает, он дурного не посоветуетне важно что там вы себе считаете и какие у вас там замены
если ставите что-либо из портов, то извольте не выёживаться
идеалогически верно в /usr/local
всё остальное от лукавого
>[оверквотинг удален]
>> Postfix считаю заменой sendmail (который часть системы) и поэтому в /usr/
>> Всё остальное - ставлю в /usr/local/
> да что это такое? да в конце-то концов, да с конца на
> конец!
> лучше делать как лавр подсказывает, он дурного не посоветует
> не важно что там вы себе считаете и какие у вас там
> замены
> если ставите что-либо из портов, то извольте не выёживаться
> идеалогически верно в /usr/local
> всё остальное от лукавогода можно и в /usr, одно НО - помнить про это и про возможные
проблемы с апгрейдом самой ОС, чисткой старых библиотек...
> если ставите что-либо из портов, то извольте не выёживаться
> идеалогически верно в /usr/local
> всё остальное от лукавогоПусть начнёт с себя мейнтейнер постфикса. Ибо, куда ни ставь его в /usr, в /usr/local ли, за aliases оно лезет в /etc/mail по дефолту.
>> если ставите что-либо из портов, то извольте не выёживаться
>> идеалогически верно в /usr/local
>> всё остальное от лукавого
> Пусть начнёт с себя мейнтейнер постфикса. Ибо, куда ни ставь его в
> /usr, в /usr/local ли, за aliases оно лезет в /etc/mail по
> дефолту.На то он и дефолт. Вам религия запрещает указать свой путь в alias_database/alias_maps?