Ok, I have pigeonhole setup on my CentOS 6 box and it's working great; the filters are doing almost everything I want them to.

I now find that I'd like to add piping support to pigeonhole scripts, and as I am running CentOS 6 (Dovecot 2.0.9, with pigeonhole 0.2.2) I'm trying to get the vnd.dovecot.pipe extension working. Couldn't find that anywhere in the repos, so went to the source as explained on this page:

http://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Pipe

But I'm not able to get it to work. Here's what I've tried so far:

1.) Installed dovecot-devel-2.0.9 (yum install dovecot-devel)
2.) Downloaded the sieve-pipe source (hg clone http://hg.rename-it.nl/pigeonhole-0.2-sieve-pipe/)
3.) In the new sieve-pipe directory:
    a.) ./autogen.sh (appeared to go smoothly)
b.) ./configure --with-dovecot=/usr/lib64/dovecot --with-pigeonhole=/usr/include/dovecot/sieve (again, ok)
    c.) make
        This one failed, complaining that sieve-ext-copy.h was
        unavailable. Found a copy of the file online at

http://www.opensource.apple.com/source/dovecot/dovecot-239/dovecot-pigeonhole/src/lib-sieve/plugins/copy/sieve-ext-copy.h
        copied it into /usr/include/dovecot/sieve/ and reran the
        make, this time no errors.
    d.) make install (no errors)
4.) Added the sieve_plugins = sieve_pipe config into 90-sieve.conf
5.) Restarted dovecot. It complained thus:
Starting Dovecot Imap: managesieve: Fatal: opendir(/usr/lib64/dovecot/sieve) failed: No such file or directory
    doveconf: Error: managesieve-login: dump-capability process returned 89
6.) Looking through the make install output, I noticed that the new libs had been installed in /usr/local/lib/dovecot/sieve. So,
    cd /usr/lib64/dovecot
    ln -s /usr/local/lib/dovecot/sieve sieve
7.) Restarted dovecot. This time a different complaint:
Starting Dovecot Imap: managesieve: Error: dlopen(/usr/lib64/dovecot/sieve/lib90_sieve_pipe_plugin.so) failed: /usr/lib64/dovecot/sieve/lib90_sieve_pipe_plugin.so: undefined symbol: uni_utf8_to_ucs4_n
managesieve: Fatal: Couldn't load required plugins
    doveconf: Error: managesieve-login: dump-capability process returned 89

And now without digging into code I'm stuck. I'm guessing I have some incompatibility issues. Do I need to be running the 32bit dovecot for this to work? Or is there some other mismatch or misstep I've made along the way? Was I correct in assuming the necessary dovecot-pigeonhole-devel stuph came with the dovecot-devel install? There is no separate dovecot-pigeonhole-devel package in the main repos (the dovecot-pigeonhole package I have loaded is 2.0.9, looks like it was just named to match the corresponding dovecot package. The version appears to be 0.2.2, as it is adding a X-Sieve: Pigeonhole Sieve 0.2.2 header into redirected messages).

Thanks!

Dan

Reply via email to