[Dovecot] v1.1.rc11 released

Woonsan Ko woon_san at yahoo.com
Thu Jun 19 16:53:12 EEST 2008


Hi Timo,

> > After some googling on this problem, I found that
> adding `#include <stdio.h>' before other includes
> in ./src/lib/restrict-access.c.
> 
> Done.

However, the rc12 doesn't seem to have the line before the `#include <sys/types.h>' line.

> 
> >         rpcgen -h /usr/include/rpcsvc/rquota.x >
> rquota.h
> 
> Here it generates the rquota.h
> 
> > In file included from quota-fs.c:28:
> > rquota.h:8: error: expected '=', ',',
> ';', 'asm' or '__attribute__'
> before 'xdr_getquota_args'
> > rquota.h:13: error: expected specifier-qualifier-list
> before 'bool_t'
> > rquota.h:24: error: expected '=', ',',
> ';', 'asm' or '__attribute__' before
> 'xdr_rquota'
> > rquota.h:32: error: expected '=', ',',
> ';', 'asm' or '__attribute__' before
> 'xdr_gqr_status'
> > rquota.h:42: error: expected '=', ',',
> ';', 'asm' or '__attribute__' before
> 'xdr_getquota_rslt'
> 
> But for some reason it can't use it. I don't really
> know why. I suppose
> it's missing some include file? Does it include
> <rpc/rpc.h> itself? If
> not, does it help to include it?

The rquota.h doesn't include <rpc/rpc.h>, and it doesn't help with <rpc/rpc.h>, throwing the followings (I tested with rc12):

 gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib -I../../../src/lib-dict -
I../../../src/lib-index -I../../../src/lib-mail -I../../../src/lib-storage -I../
../../src/lib-storage/index -I../../../src/lib-storage/index/maildir -std=gnu99
-g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wch
ar-subscripts -Wformat=2 -Wbad-function-cast -Wstrict-aliasing=2 -MT rquota_xdr.
lo -MD -MP -MF .deps/rquota_xdr.Tpo -c rquota_xdr.c  -DPIC -o .libs/rquota_xdr.o
rquota_xdr.c:1:17: warning: extra tokens at end of #include directive
In file included from rquota_xdr.c:2:
/usr/include/rpcsvc/rquota.h:49: error: expected specifier-qualifier-list before
 'bool_t'
rquota_xdr.c: In function 'xdr_getquota_args':
rquota_xdr.c:8: error: expected declaration specifiers before 'getquota_args'
rquota_xdr.c:9: warning: type of 'objp' defaults to 'int'
rquota_xdr.c:9: error: argument 'objp' doesn't match prototype
/usr/include/rpcsvc/rquota.h:73: error: prototype declaration
rquota_xdr.c:10: error: invalid type argument of '->'
rquota_xdr.c:10: error: 'RQ_PATHLEN' undeclared (first use in this function)
rquota_xdr.c:10: error: (Each undeclared identifier is reported only once
rquota_xdr.c:10: error: for each function it appears in.)
rquota_xdr.c:13: error: invalid type argument of '->'
rquota_xdr.c: In function 'xdr_rquota':
rquota_xdr.c:25: error: expected declaration specifiers before 'rquota'
rquota_xdr.c:26: warning: type of 'objp' defaults to 'int'
rquota_xdr.c:26: error: argument 'objp' doesn't match prototype
/usr/include/rpcsvc/rquota.h:75: error: prototype declaration
rquota_xdr.c:27: error: invalid type argument of '->'
rquota_xdr.c:30: error: invalid type argument of '->'
rquota_xdr.c:33: error: invalid type argument of '->'
rquota_xdr.c:36: error: invalid type argument of '->'
rquota_xdr.c:39: error: invalid type argument of '->'
rquota_xdr.c:42: error: invalid type argument of '->'
rquota_xdr.c:45: error: invalid type argument of '->'
rquota_xdr.c:48: error: invalid type argument of '->'
rquota_xdr.c:51: error: invalid type argument of '->'
rquota_xdr.c:54: error: invalid type argument of '->'
rquota_xdr.c: At top level:
rquota_xdr.c:65: warning: no previous prototype for 'xdr_gqr_status'
rquota_xdr.c: In function 'xdr_gqr_status':
rquota_xdr.c:66: error: expected declaration specifiers before 'gqr_status'
rquota_xdr.c:67: warning: type of 'objp' defaults to 'int'
rquota_xdr.c: In function 'xdr_getquota_rslt':
rquota_xdr.c:80: error: expected declaration specifiers before 'getquota_rslt'
rquota_xdr.c:81: warning: type of 'objp' defaults to 'int'
rquota_xdr.c:81: error: argument 'objp' doesn't match prototype
/usr/include/rpcsvc/rquota.h:74: error: prototype declaration
rquota_xdr.c:82: error: invalid type argument of '->'
rquota_xdr.c:85: error: invalid type argument of '->'
rquota_xdr.c:87: error: invalid type argument of '->'
make: 1254-004 The error code from the last command is 1.


I have googled and found a IBM document page: http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.progcomm/doc/progcomc/ch8_rpc.htm (I clicked `Programming in RPC' link and referred to the `Compiling and Linking RPC Programs' section.)
According to the page, I set the CFLAGS to `CFLAGS=-D_BSD -DBSD_INCLUDES', but it threw other errors:

 gcc -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib -I../../../src/lib-dict -
I../../../src/lib-index -I../../../src/lib-mail -I../../../src/lib-storage -I../
../../src/lib-storage/index -I../../../src/lib-storage/index/maildir -std=gnu99
-g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wch
ar-subscripts -Wformat=2 -Wbad-function-cast -Wstrict-aliasing=2 -D_BSD -DBSD_IN
CLUDES -MT quota.lo -MD -MP -MF .deps/quota.Tpo -c quota.c  -DPIC -o .libs/quota
.o
quota.c: In function 'quota_warning_execute':
quota.c:705: error: request for member 'w_status' in something not a structure o
r union
quota.c:705: error: request for member 'w_status' in something not a structure o
r union
quota.c:706: error: request for member 'w_status' in something not a structure o
r union
quota.c:706: error: request for member 'w_status' in something not a structure o
r union
quota.c:706: error: request for member 'w_status' in something not a structure o
r union
quota.c:707: error: request for member 'w_status' in something not a structure o
<Snip/>
make: 1254-004 The error code from the last command is 1.


Again, I googled and added `#include <sys/m_wait.h>' after `#include <sys/wait.h>' in quota.c, but the result did not change at all.

By the way, I succeeded in making and installing rc12 on AIX with gcc, by brutally modifying the `configure' script like the following (It is to disable RQUOTA option forcefully):


have_rquota=no
if test -f /usr/include/rpcsvc/rquota.x && test -n "$RPCGEN"; then

cat >>confdefs.h <<\_ACEOF
/*#define HAVE_RQUOTA*/
_ACEOF

  have_rquota=no
fi


Anyway, there must be something regarding RPC or NFS on AIX, but I have no idea.

Regards,

Woonsan


      


More information about the dovecot mailing list