Я пытаюсь установить модуль fts-xapian для dovecot на экземпляр OVH VPS Cloud. Сейчас у меня Ubuntu 16.04. После компиляции fts-xapian я вижу, что он установлен в /usr/lib/dovecot/modules
, однако при включении плагина в моем dovecot.conf я вижу ошибку в своем почтовом журнале:
Error: Couldn't load required plugin /usr/lib/dovecot/modules/lib21_fts_xapian_plugin.so: Module is for different ABI version 2.2.ABIv22(2.2.22) (we have 2.3.ABIv9(2.3.9.2))
Мне пришлось обновить систему ICU, чтобы скомпилировать fts-xapian. Я собрал ICU отсюда:
https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz
Вот шаги, которые я выполнил:
$ add-apt-repository ppa:xapian/backports
$ apt update
$ apt upgrade
$ apt install python3-xapian
$ apt install libxapian-dev
ИЗМЕНИТЬ /etc/apt/sources.list и ДОБАВИТЬ:
deb-src http://archive.ubuntu.com/ubuntu/ xenial main universe restricted multiverse #Added by software-properties
deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates restricted main universe multiverse #Added by software-properties
deb-src http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb-src http://security.ubuntu.com/ubuntu/ xenial-security restricted main universe multiverse #Added by software-properties
deb-src http://archive.ubuntu.com/ubuntu/ xenial-proposed restricted main universe multiverse #Added by software-properties
затем
$ apt update
$ apt build-dep dovecot-core
$ apt install dovecot-dev
$ apt install libicu-dev
(Систему ICU необходимо обновить для работы следующих сборок)
$ cd /tmp
$ wget https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz
$ tar -xvf icu4c-65_1-src.tgz
$ cd icu/source
$ ./configure --prefix=/usr
$ make install
$ icu-config --version
Теперь мы должны увидеть версию системы icu 65.1.
$ cd /usr/share
$ git clone https://github.com/grosjo/fts-xapian
$ cd fts-xapian
$ autoreconf -vi
$ ./configure --with-dovecot=/usr/lib/dovecot
$ make
$ make install
Я считаю, что проблема в том, что dovecot-dev находится на v2.2.22, а dovecot теперь на v2.3.92. Моя система сообщает мне, что dovecot-dev уже имеет самую последнюю версию. Как я могу обновить dovecot-dev так, чтобы он соответствовал моей голубятне? Мне нужно компилировать из исходников?