0

I'm trying to install the fts-xapian module for dovecot on an OVH VPS Cloud instance. I currently have Ubuntu 16.04. After compiling fts-xapian I see it is installed in /usr/lib/dovecot/modules, however when enabling the plugin in my dovecot.conf I am seeing an error in my maillog:

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))

I had to update the system ICU in order to compile fts-xapian. I compiled ICU from here:

https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz

Here are the steps I followed:

$ add-apt-repository ppa:xapian/backports
$ apt update
$ apt upgrade
$ apt install python3-xapian
$ apt install libxapian-dev

EDIT /etc/apt/sources.list and ADD:

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

then

$ apt update
$ apt build-dep dovecot-core
$ apt install dovecot-dev
$ apt install libicu-dev

(System ICU needs to be updated for the next builds to work)

$ 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

We should now see a system icu version of 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

I believe the problem is that dovecot-dev is at v2.2.22, while dovecot is now at v2.3.92. My system is telling me that dovecot-dev is already at the most recent version. How can I update dovecot-dev so that it matches my dovecot? Do I need to compile from source?

JohnRDOrazio
  • 111
  • 7
  • I see here that Ubuntu 16.04 only has prebuilt binaries for dovecot v2.2.22: https://wiki2.dovecot.org/PrebuiltBinaries#Ubuntu So then how did my dovecot get updated to v2.3.92? I didn't compile it. I see it was updated on March 25th 2020 together with all the modules. Possible after I edited `/etc/apt/sources.list` , But why is it that dovecot updated to v2.3.92 but I can't update dovecot-dev to v2.3.92? – JohnRDOrazio Apr 05 '20 at 07:27
  • Continuing to search I see that the package "dovecot-dev" was deleted from "proposed" and moved to "updates" where we have v2.2.22: https://www.ubuntuupdates.org/package/core/xenial/main/proposed/dovecot-dev https://www.ubuntuupdates.org/package/core/xenial/main/updates/dovecot-dev – JohnRDOrazio Apr 05 '20 at 07:35
  • Now I see that if I add the official dovecot repo for Ubuntu Xenial to source.list (following instructions here: https://repo.dovecot.org/), I have dovecot-dev proposed for update to v2.3.10-2 . Now I'm just wary that compiling fts-xapian will complain about ABI version not corresponding because now too high instead of too low? Anyone expert on compiling have any advice? Should I go with the update to dovecot-dev v2.3.10-2 ? – JohnRDOrazio Apr 05 '20 at 08:14

0 Answers0