Kapoor, Nishikant X said ...
>
> Well, after a 'make distclean' and a ./configure, the gettimeofday() error
> went away. Infact, the ./configure showed that gettimeofday() neeeded two
> arguments. BUT, the compilation error is still there and I'm still hoping
> that some expert should be able to help me get through this.
The compile error you are getting below is due to a missing header. More
correctly 'configure' has mis-identified that your system has the endian.h
header file. If you are using xlc for the compiler, then use the
following configure command:
./configure --with-template=aix_42 --with-CC=xlc --with-CXX=xlC
Be sure and do a 'make distclean' first! I just did a build using the
above configure. Mind you, I'm using IBM's XLC compiler, not GCC (we
don't have GCC on our system).
IMPORTANT: before doing the configure above, change the template/aix_42
file to have the following line:
YFLAGS:-d -Nm70000
AIX's yacc needs a larger memory array to process the parser grammers. If
you are using GNU's bison or byacc, then don't make the modification
above.
AIX's lex can't handle src/interfaces/ecpg/preproc/ecpg.l. Suggest
you get and install flex instead.
Something else to considder. I've seen various problems compiling the
C++ stuff and since I don't use C++ I usually configure with
"--without-CXX".
BTW, the output below looks like you used the 'aix_gcc" template, not the
'aix_42' one. Be sure of which one you are using.
> ./configure --with-template=aix_42 :
> --------------------------------------
> gmake -C libpq all
> gmake[2]: Entering directory
> `/usr/local/src/postgresql-6.3.2/src/backend/libpq'
> gcc -I../../include -I../../backend -fsigned-chars -Wall
> -Wmissing-prototypes -I..
> -c be-dumpdata.c
> gcc -I../../include -I../../backend -fsigned-chars -Wall
> -Wmissing-prototypes -I..
> -c be-fsstubs.c
> gcc -I../../include -I../../backend -fsigned-chars -Wall
> -Wmissing-prototypes -I..
> -c be-pqexec.c
> gcc -I../../include -I../../backend -fsigned-chars -Wall
> -Wmissing-prototypes -I..
> -c pqcomprim.c
> pqcomprim.c:20: endian.h: No such file or directory
> gmake[2]: *** [pqcomprim.o] Error 1
> gmake[2]: Leaving directory
> `/usr/local/src/postgresql-6.3.2/src/backend/libpq'
> gmake[1]: *** [libpq.dir] Error 2
> gmake[1]: Leaving directory `/usr/local/src/postgresql-6.3.2/src/backend'
> gmake: *** [all] Error 2
>
> Thanks and still waiting for some help.
> Nishi
>
> > Quick question, but did you doa 'make distclean' before you various
> > ./configure's?
> >
> >
> >
> > On Tue, 1 Jun 1999, Kapoor, Nishikant X wrote:
> >
> > > I have used following different configurations for compilation but
> > without
> > > luck. Can someone PLEASE help me compile it.
> > >
> > > Version 6.4.2:
> > > --------------------
> > > ./configure --with-template=aix_gcc - following compilation error
> > > ./configure --with-template=aix_42 - same compilation error
> > > ./configure --with-template=aix_42 --with-CC=xlc - same compilation
> > error
> > >
> > > postgres.c: In function `PostgresMain':
> > > postgres.c:987: warning: implicit declaration of function `strcasecmp'
> > > postgres.c: In function `ResetUsage':
> > > postgres.c:1705: too few arguments to function `gettimeofday'
> > > postgres.c:1702: warning: unused variable `tz'
> > > postgres.c: In function `ShowUsage':
> > > postgres.c:1720: too few arguments to function `gettimeofday'
> > > postgres.c:1716: warning: unused variable `tz'
> > > gmake[2]: *** [postgres.o] Error 1
> > > gmake[2]: Leaving directory
> > > `/usr/local/src/postgresql-6.4.2/src/backend/tcop'
> > > gmake[1]: *** [tcop.dir] Error 2
> > > gmake[1]: Leaving directory
> > `/usr/local/src/postgresql-6.4.2/src/backend'
> > > gmake: *** [all] Error 2
> > >
> > > Just wondering, why do I still see gcc when I have it configured with
> > > "--with-CC=xlc" ?
> > > Could it be because I am using 'gmake all' and not 'make all' ? I tried
> > > 'make all' but got the following message:
> > >
> > > wsvr:/usr/local/src/postgresql-6.4.2/src:postgres> make all
> > > You must use GNU make to use Postgres. It may be installed
> > > on your system with the name 'gmake'.
> > >
> > > NOTE: If you are sure that you are using GNU make and you are
> > > still getting this message, you may simply need to run
> > > the configure program.
> > >
> > > and so, ended up doing 'gmake all'.
> > >
> > > Version 6.3.2:
> > > --------------------
> > > And on the same machine i.e. IBM PowerPC with AIX-4.2.1, compiling 6.3.2
> > > gives following error:
> > >
> > > ./configure --with-template=aix-gcc - following error
> > >
> > > gmake -C libpq all
> > > gmake[2]: Entering directory
> > > `/usr/local/src/postgresql-6.3.2/src/backend/libpq'
> > > gcc -I../../include -I../../backend -fsigned-chars -Wall
> > > -Wmissing-prototypes -I.. -c be-dumpdata.c -o be-dumpdata.o
> > > gcc -I../../include -I../../backend -fsigned-chars -Wall
> > > -Wmissing-prototypes -I.. -c be-fsstubs.c -o be-fsstubs.o
> > > gcc -I../../include -I../../backend -fsigned-chars -Wall
> > > -Wmissing-prototypes -I.. -c be-pqexec.c -o be-pqexec.o
> > > gcc -I../../include -I../../backend -fsigned-chars -Wall
> > > -Wmissing-prototypes -I.. -c pqcomprim.c -o pqcomprim.o
> > > pqcomprim.c:20: endian.h: No such file or directory
> > > gmake[2]: *** [pqcomprim.o] Error 1
> > > gmake[2]: Leaving directory
> > > `/usr/local/src/postgresql-6.3.2/src/backend/libpq'
> > > gmake[1]: *** [libpq.dir] Error 2
> > > gmake[1]: Leaving directory
> > `/usr/local/src/postgresql-6.3.2/src/backend'
> > > gmake: *** [all] Error 2
> > >
> > > > Hi Nishi,
> > > >
> > > > > Here is the exact error I got when I compiled it on my IBM PowerPC
> > > > running
> > > > > AIX-4.2.1.
> > > > >
> > > > > ./configure --prefix=/usr/local/pgsql_6_4 --with-template=aix_42 :
> > > >
> > > > If you are going to build with GCC, then you should use the aix_gcc
> > > > template, not the aix_42 template. aix_42 is for building with IBM's
> > xlC
> > > > compiler.
> > > >
> > > > Not sure why you're getting too few arguments for gettimeofday().
> > This
> > > > function only takes 1 or 2 parameters (depending on the
> > implementation;
> > > > AIX takes two) Suggest you use the xlC compiler (configure option
> > > > --with-CC=xlc) if available.
> > > >
> > > > > gcc -I../../include -I../../backend -qchars=signed -qmaxmem=8192
> > > > -qhalt=w
> > > > > -qsrcmsg -qcheck=divzero -qlonglong -Wall -Wmissing-prototypes -I..
> > > > > -Wno-error -c postgres.c
> > > > > gcc: unrecognized option `-qchars=signed'
> > > > > gcc: unrecognized option `-qmaxmem=8192'
> > > > > gcc: unrecognized option `-qhalt=w'
> > > > > gcc: unrecognized option `-qsrcmsg'
> > > > > gcc: unrecognized option `-qcheck=divzero'
> > > > > gcc: unrecognized option `-qlonglong'
> > > > > postgres.c: In function `PostgresMain':
> > > > > postgres.c:987: warning: implicit declaration of function
> > `strcasecmp'
> > > > > postgres.c: In function `ResetUsage':
> > > > > postgres.c:1705: too few arguments to function `gettimeofday'
> > > > > postgres.c:1702: warning: unused variable `tz'
> > > > > postgres.c: In function `ShowUsage':
> > > > > postgres.c:1720: too few arguments to function `gettimeofday'
> > > > > postgres.c:1716: warning: unused variable `tz'
> > > > > gmake[2]: *** [postgres.o] Error 1
> > > > > gmake[2]: Leaving directory
> > > > > `/usr/local/src/postgresql-6.4.2/src/backend/tcop'
> > > > > gmake[1]: *** [tcop.dir] Error 2
> > > > > gmake[1]: Leaving directory
> > > > `/usr/local/src/postgresql-6.4.2/src/backend'
> > > > > gmake: *** [all] Error 2
> > > >
> > > > --
> > > > Peter A. Castro (doctor@fruitbat.org) or (pcastro@us.oracle.com)
> > >
> >
> > Marc G. Fournier ICQ#7615664 IRC Nick:
> > Scrappy
> > Systems Administrator @ hub.org
> > primary: scrappy@hub.org secondary:
> > scrappy@{freebsd|postgresql}.org
> >
>
>
--
Peter A. Castro (doctor@fruitbat.org) or (pcastro@us.oracle.com)