[Dovecot] Error Building v2.2

Christian Wiese christian.wiese at securepoint.de
Tue Mar 26 14:36:35 EET 2013

Hi Nick,

> > try to call 'autoreconf -vfi';)
> That's pure magic - autoreconf did the trick (on CentOS 6)!
> I, a poor man trying to build these rocket-science apps, could not do
> it without your magic...

Don't worry... that is no rocket science ;)
I agree that dealing with "autofoo" can be very annoying but there is
no reason to fear it. You simply need to get some experience with it
which is hard to get when using pre-built binary packages ;)

> Yet, it did not work on CentOS 5:
> autoreconf: Entering directory `.'
> autoreconf: configure.ac: not using Gettext
> autoreconf: running: aclocal --force
> aclocal:configure.ac:294: warning: macro `AM_ICONV' not found in
> library autoreconf: configure.ac: tracing
> autoreconf: running: libtoolize --copy --force
> aclocal:configure.ac:294: warning: macro `AM_ICONV' not found in
> library autoreconf: running: /usr/bin/autoconf --force
> configure.ac:294: error: possibly undefined macro: AM_ICONV
> If this token and others are legitimate, please use m4_pattern_allow.
> See the Autoconf documentation.
> autoreconf: /usr/bin/autoconf failed with exit status: 1

I think the iconv.m4 is missing which is installed by gettext.
Maybe you have gettext development stuff installed on the machine where
the autoreconf is working. So you might want to install it on your
CentOS 5 machine too.

> Also, on CentOS 6, much later down the compilation, I got another
> error:
> ...
> ./../../sieve-generator.h:78: error: expected
> specifier-qualifier-list before 'ARRAY_DEFINE'
> cmd-vacation.c: In function 'ext_vacation_operation_execute':
> cmd-vacation.c:696: warning: implicit declaration of function
> 'ARRAY_DEFINE' cmd-vacation.c:696: error: 'norm_addresses' undeclared
> (first use in this function)
> cmd-vacation.c:696: error: (Each undeclared identifier is reported
> only once cmd-vacation.c:696: error: for each function it appears in.)
> cmd-vacation.c:696: error: expected expression before 'const'
> cmd-vacation.c:712: warning: type defaults to 'int' in declaration of 
> 'type name'
> cmd-vacation.c:712: error: size of array 'type name' is negative
> cmd-vacation.c:726: warning: type defaults to 'int' in declaration of 
> 'type name'
> cmd-vacation.c:727: warning: type defaults to 'int' in declaration of 
> 'type name'
> make[5]: *** [cmd-vacation.lo] Error 1
> make[5]: Leaving directory 
> `/home/dovebuilder/rpmbuild/BUILD/dovecot-2.2.0/dovecot-2.1-pigeonhole-0.3.3/src/lib-sieve/plugins/vacation'
> make[4]: *** [all-recursive] Error 1
> make[4]: Leaving directory 
> `/home/dovebuilder/rpmbuild/BUILD/dovecot-2.2.0/dovecot-2.1-pigeonhole-0.3.3/src/lib-sieve/plugins'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory 
> `/home/dovebuilder/rpmbuild/BUILD/dovecot-2.2.0/dovecot-2.1-pigeonhole-0.3.3/src/lib-sieve'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory 
> `/home/dovebuilder/rpmbuild/BUILD/dovecot-2.2.0/dovecot-2.1-pigeonhole-0.3.3/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory 
> `/home/dovebuilder/rpmbuild/BUILD/dovecot-2.2.0/dovecot-2.1-pigeonhole-0.3.3'
> Could you shed some light on this as well? Perhaps pigeonhole
> 2.1-0.3.3 is not compatible with 2.2 ? Any suggestions?

Pigeonhole 2.1-0.3.3 is not compatible with dovecot 2.2, thus it is
mandatory to update pigeonhole too. There seem to be no snapshot
tarballs for it, so you most probably need to create your own from the
correct mercurial branch.

see: http://hg.rename-it.nl/dovecot-2.2-pigeonhole/

Hint: You can create a tarball from it through the web interface above.


More information about the dovecot mailing list