[Dovecot] a problem in building dovecot @ opensolaris
Hi, I'm trying to build dovecot from snapshot dovecot-20051215.tar.gz on OpenSolaris Nevada build 28. I have added to the PATH directories for make, gcc and automake/autoconf (in BASH): $ export PATH=/opt/sfw/bin:/usr/ccs/bin:/usr/sfw/bin:$PATH then executed
$ aclocal $ libtoolize --force $ automake --add-missing $ autoheader $ autoconf
And then make finished with
Install prefix ...................... : /usr/local File offsets ........................ : 64bit I/O loop method ..................... : poll File change notification method ..... : none Building with SSL support ........... : yes (OpenSSL) Building with IPv6 support .......... : yes Building with pop3 server ........... : yes Building with mail delivery agent .. : yes Building with GSSAPI support ........ : no Building with user database modules . : static prefetch passwd passwd-file checkpassword (modules) Building with password lookup modules : passwd passwd-file shadow pam checkpassword (modules)
But make fails, the first error is:
Making all in quota
if /bin/bash ../../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I.
-I. -I../../.. -I../../../src/lib -I../../../src/lib-dict
-I../../../src/lib-mail -I../../../src/lib-storage -std=gnu99 -g -O2
-Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast -I/usr/sfw/include -MT
quota.lo -MD -MP -MF ".deps/quota.Tpo" -c -o quota.lo quota.c;
then mv -f ".deps/quota.Tpo" ".deps/quota.Plo"; else rm -f
".deps/quota.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../src/lib
-I../../../src/lib-dict -I../../../src/lib-mail
-I../../../src/lib-storage -std=gnu99 -g -O2 -Wall -W
-Wmissing-prototypes -Wmissing-declarations -Wpointer-arith
-Wchar-subscripts -Wformat=2 -Wbad-function-cast -I/usr/sfw/include -MT
quota.lo -MD -MP -MF .deps/quota.Tpo -c quota.c -fPIC -DPIC -o
.libs/quota.o
In file included from quota-fs.h:22,
from quota.c:6:
/usr/include/sys/mnttab.h:81: error: parse error before '*' token
/usr/include/sys/mnttab.h:82: error: parse error before '*' token
/usr/include/sys/mnttab.h:83: error: parse error before '*' token
/usr/include/sys/mnttab.h:84: error: parse error before '*' token
*** Error code 1
make: Fatal error: Command failed for target quota.lo' Current working directory /home/seriv/dovecot/dovecot-1.0.alpha5/src/plugins/quota *** Error code 1 The following command caused the error: set fnord $MAKEFLAGS; amf=$2; \ dot_seen=no; \ target=
echo all-recursive | sed s/-recursive//; \ list='quota imap-quota trash'; for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (cd $subdir && make $local_target) \ || case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for target
all-recursive'
Please, help.
Sergey Ivanov
On Thu, 2005-12-15 at 19:34 -0500, Sergey Ivanov wrote:
In file included from quota-fs.h:22, from quota.c:6: /usr/include/sys/mnttab.h:81: error: parse error before '*' token /usr/include/sys/mnttab.h:82: error: parse error before '*' token /usr/include/sys/mnttab.h:83: error: parse error before '*' token /usr/include/sys/mnttab.h:84: error: parse error before '*' token
What is in this file in lines 70-90? (or just send the whole file to me privately)
--- Message d'origine ---
De : Timo Sirainen <tss@iki.fi> À : Sergey Ivanov <seriv@parkheights.dyndns.org> Cc : dovecot@dovecot.org Sujet : Re: [Dovecot] a problem in building dovecot @ opensolaris Date : ven 30 déc 2005 21:12:30 CET
On Thu, 2005-12-15 at 19:34 -0500, Sergey Ivanov wrote:
In file included from quota-fs.h:22, from quota.c:6: /usr/include/sys/mnttab.h:81: error: parse error before '*' token /usr/include/sys/mnttab.h:82: error: parse error before '*' token /usr/include/sys/mnttab.h:83: error: parse error before '*' token /usr/include/sys/mnttab.h:84: error: parse error before '*' token
What is in this file in lines 70-90? (or just send the whole file to me privately)
Hi, I had the same problem to compile with Sun Solaris 9 FILE is not defined prior to including sys/mnttab.h Solaris require to include stdio.h before including sys/mnttab.h --- src/plugins/quota/quota-fs.h.orig Sat Dec 31 00:08:42 2005 +++ src/plugins/quota/quota-fs.h Sat Dec 31 00:08:57 2005 @@ -22,6 +22,7 @@ #elif defined(HAVE_MNTENT_H) # include <mntent.h> /* Linux */ #elif defined(HAVE_SYS_MNTTAB_H) +# include <stdio.h> /* Solaris require this to define FILE */ # include <sys/mnttab.h> /* Solaris */ #else # undef HAVE_FS_QUOTA With this small change it compiled successfully. Regards Jean-Eudes
participants (3)
-
Jean-Eudes ONFRAY
-
Sergey Ivanov
-
Timo Sirainen