Re: scotty-0.8 won't build under AIX

Erik Schoenfelder (schoenfr@sol)
Fri, 21 Jan 94 21:40:00 +0100

Hi!

Kingsley Kerce <kerce@dirac.scri.fsu.edu> wrote:

KK> I tried compiling scotty-0.8 on an RS6000 running AIX 3.2 with
KK> the following results (included below along with the Makefile
KK> generated by configure). Please let me know if there's any
KK> way to assist in getting scotty/tkined compiled on this
KK> architecture/OS.
KK> ...

KK> dirac> make
KK> cc -c -O -I. -I/usr/local/include -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_MALLOC_H=1 -DHAVE_SELECT=1 -DNO_RPCENT=1 -DHAVE_ICMP=1 -DHAVE_DNS=1 -DHAVE_RPC=1 -DHAVE_TCP=1 -DHAVE_SELECT=1 -DHAVE_SYSLOG=1 rpc.c
KK> "rpc.c", line 415.18: 1506-168 (S) Initializer must be enclosed in braces.
KK> "rpc.c", line 433.12: 1506-164 (S) Expression must be a scalar type.
KK> "rpc.c", line 434.32: 1506-122 (S) Expecting pointer to struct or union.
KK> "rpc.c", line 434.50: 1506-122 (S) Expecting pointer to struct or union.
KK> "rpc.c", line 436.14: 1506-122 (S) Expecting pointer to struct or union.
KK> make: *** [rpc.o] Error 1

Thank's a lot for your bug report.

The error happens -

> {
> mountlist ml = NULL; <==== here

The trouble is caused by different mount.x files of AIX and eg. SunOS,
which is compiled by rpcgen into the mount*.[ch] files including
./mount.h, which includes the mountlist declaration.

The type of ml is here a ``struct mountlist'' and on Suns and others a
``struct mountbody *''.

You may try to use scotty's mount.xx (a copy from our Suns) to
generate these files:

cp ./mount.xx ./mount.x
rpcgen ./mount.x
make clean all

or you may use the precompiled files still included in
compat/rpcgen-out.shar:

rm -f mount.h mount_clnt.c mount_svc.c mount_xdr.c
sh < compat/rpcgen-out.shar
make clean all

I cannot promise, that this will work, but you may give it a try.

If the precompiled files are useable, it maybe a good idea to use them
by default for all architectures and run rpcgen only optionally.

I think, we will see.

Another fix is needed in ntping/ntping.c. There is the header
<sys/select.h> missing.

You may include it below <sys/types.h> (This is still only for AIX -
and will be fixed in the next release - hopefully ;-) :

*** ntping.c-nase Fri Jan 21 21:24:05 1994
--- ntping.c Fri Jan 21 21:23:57 1994
***************
*** 17,22 ****
--- 17,23 ----
#include <string.h>
#include <sys/time.h>
#include <sys/types.h>
+ #include <sys/select.h>
#include <errno.h>
#if defined(pyr) || (defined(MACH) && defined (MTXINU))
/* should make into the configure script... */

I hope, this helps. Erik