sievec: error while loading shared libraries (Dovecot 2.2.15 + Pigeonhole 0.4.6)

webunity

Verified User
Joined
Sep 23, 2014
Messages
49
Using this guide, i installed Pigeonhole 0.4.6 after first upgrading Dovecot to 2.2.15.

I followed the following commands:
Code:
> cd /usr/local/src
> wget [url]http://pigeonhole.dovecot.org/releases/2.2/dovecot-2.2-pigeonhole-0.4.6.tar.gz[/url]
> tar -zxvf dovecot-2.2-pigeonhole-0.4.6.tar.gz
> cd dovecot-2.2-pigeonhole-0.4.6
> ./configure --prefix=/usr
> make && make install

All went fine (as in; i don't see any compilation errors)
But when arriving at this line:
Code:
> mkdir /var/lib/dovecot/sieve/
> touch /var/lib/dovecot/sieve/default.sieve
> [B]sievec /var/lib/dovecot/sieve/default.sieve[/B]
> chown mail:mail /var/lib/dovecot/sieve/* -R

I get the following error:
Code:
sievec: error while loading shared libraries: libdovecot-sieve.so.0: cannot open shared object file: No such file or directory

I have no clue where to find it.. Any body able to help me?
 
Please use CustomBuild 2.0 to install pigeonhole:
Code:
cd /usr/local/directadmin/custombuild
./build update
./build set pigeonhole yes
./build dovecot
 
Just found out that CB2.0 has Pigeonhole support. Did that and now it worked.
However, there might be an error in the custombuild script. I'll try to explain below.

History:
Because Pigeonhole 0.4.6 requires DoveCot 2.2.15, i first updated DoveCot.
Code:
cd /usr/local/directadmin/custombuild
./build update (updated dovecot from 2.2.13 to 2.2.15)
Then i did the actions in the topic start; which obviously failed.

Since i found out CB has Pigeonhole support, i installed it (having no knowledge about the variable, so i did not set the pigeonhole parameter (it was still set to false))

Code:
cd /usr/local/directadmin/custombuild
./build pigeonhole

Pigeonhole is succesfully build; Exim is patched and dovecot is restarted, but DoveCot throws errors not able to find the lib (e.g. i think there is an error in CB script which adds pigeonhole support to dovecot, although the variable is still set to fales)

Then i did this:

Code:
cd /usr/local/directadmin/custombuild
./build update
./build set pigeonhole yes
./build dovecot

and it worked.
 
Last edited:
This is not a problem with CustomBuild :) See my post above, the command mentioned is "./build dovecot", not "./build pigeonhole".
 
Then why does the ./build pigeonhole even work when the config parameter is set to false? It patches exim config files and dovecot config files, throwing errors after (re)starting those services that some lib cannot be found. In my humble opinion; "./build pigeonhole" should fail.. But i'm just the messenger :)
 
If I may just suggest something; I use the CB2 plugin in DA, and that is actually all that is needed. No need to speculate or try out arbitrary solutions. This plugin and DA have made my day, and night. I too had difficulty with the pigeon-hole, but after using the plugin it just works, no need to try out different ways to install, it just works for me. I know that it doesn't answer your last question, but there is really no need to be discouraged, just use the plugin. You also have to be updated outside of DA, and that is also easy to do. If something fails, just rebuild. I'm actually surprised that it works so well, and that is a kudos to Martynas Bendorius.

My routine is just to go into the DA panel and run an update in the plugin to see if there are any updates, If so, I just execute the update and that's it. If I need to install something or rebuild, I just do it in the plugin, it never fails, for me at-least. You can even rebuild everything. It's just a gift from heaven and it has made my life more simple - thx devs.
 
Last edited:
This is not a problem with CustomBuild :) See my post above, the command mentioned is "./build dovecot", not "./build pigeonhole".

So what's the ./build pigeonhole used for?

If I follow your:

Code:
cd /usr/local/directadmin/custombuild
./build update
./build set pigeonhole yes
./build dovecot

sequence with a fresh DirectAdmin CB 2.0 install on Debian 7 I still get the same error when Dovecot gets started:

Code:
Starting dovecot: /usr/libexec/dovecot/managesieve: error while loading shared libraries: libdovecot-sieve.so.0: cannot open shared object file: No such file or directory
doveconf: Error: managesieve-login: dump-capability process returned 127
 
Last edited:
Please try:
Code:
cd /usr/local/directadmin/custombuild
ldconfig
./build dovecot

"./build pigeonhole" is used when you want to reinstall pigeonhole only for a particular version of dovecot. However, it is always recommended to execute "./build dovecot" to avoid library mismatches (dovecot does not work if pigeonhole is compiled for an old version of dovecot).
 
Back
Top