Hi,
I've just tried to compile dovecot & pigeonhole in my openbsd box, and got this:
gcc -DHAVE_CONFIG_H -I. -I../.. -I/home/seajob/build/dovecot-2.1.5 -I/home/seajob/build/dovecot-2.1.5/src/lib -I/home/seajob/build/dovecot-2.1.5/src/lib-dict -I/home/seajob/build/dovecot-2.1.5/src/lib-dns -I/home/seajob/build/dovecot-2.1.5/src/lib-mail -I/home/seajob/build/dovecot-2.1.5/src/lib-imap -I/home/seajob/build/dovecot-2.1.5/src/lib-fs -I/home/seajob/build/dovecot-2.1.5/src/lib-charset -I/home/seajob/build/dovecot-2.1.5/src/lib-index -I/home/seajob/build/dovecot-2.1.5/src/lib-storage -I/home/seajob/build/dovecot-2.1.5/src/lib-storage/index -I/home/seajob/build/dovecot-2.1.5/src/lib-storage/index/raw -I../.. -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/include -MT managesieve-quote.o -MD -MP -MF .deps/managesieve-quote.Tpo -c -o managesieve-quote.o managesieve-quote.c
mv -f .deps/managesieve-quote.Tpo .deps/managesieve-quote.Po
gcc -DHAVE_CONFIG_H -I. -I../.. -I/home/seajob/build/dovecot-2.1.5 -I/home/seajob/build/dovecot-2.1.5/src/lib -I/home/seajob/build/dovecot-2.1.5/src/lib-dict -I/home/seajob/build/dovecot-2.1.5/src/lib-dns -I/home/seajob/build/dovecot-2.1.5/src/lib-mail -I/home/seajob/build/dovecot-2.1.5/src/lib-imap -I/home/seajob/build/dovecot-2.1.5/src/lib-fs -I/home/seajob/build/dovecot-2.1.5/src/lib-charset -I/home/seajob/build/dovecot-2.1.5/src/lib-index -I/home/seajob/build/dovecot-2.1.5/src/lib-storage -I/home/seajob/build/dovecot-2.1.5/src/lib-storage/index -I/home/seajob/build/dovecot-2.1.5/src/lib-storage/index/raw -I../.. -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/include -MT managesieve-parser.o -MD -MP -MF .deps/managesieve-parser.Tpo -c -o managesieve-parser.o managesieve-parser.c
managesieve-parser.c: In function 'quoted_string_istream_read':
managesieve-parser.c:639: error: 'EPROTO' undeclared (first use in this function) managesieve-parser.c:639: error: (Each undeclared identifier is reported only once managesieve-parser.c:639: error: for each function it appears in.)
*** Error code 1
Stop in /home/seajob/build/dovecot-2.1-pigeonhole-0.3.0/src/lib-managesieve (line 92 of /usr/share/mk/sys.mk). *** Error code 1
Stop in /home/seajob/build/dovecot-2.1-pigeonhole-0.3.0/src (line 289 of Makefile). *** Error code 1
Stop in /home/seajob/build/dovecot-2.1-pigeonhole-0.3.0 (line 474 of Makefile). *** Error code 1
Stop in /home/seajob/build/dovecot-2.1-pigeonhole-0.3.0 (line 353 of Makefile).