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-pigeonhol... 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