	I've run into a few problem compiling Postgres v6.4 on an Alpha
running Red Hat Linux v5.2.  I'm not asking anybody to drop
what they're doing to fix these... hopefully I'll do that
myself soon :).  I provide the following for informational
purposes more than anything and to see if, perhaps, someone has 
run across a similar problem and/or might have suggestions.
	Originally, I was using the following configuration...

[postgres@griddle adt]$ uname -a
Linux griddle.sped.ukans.edu 2.0.35 #1 Fri Oct 9 02:16:20 EDT 1998 alpha unknown
[postgres@griddle adt]$ gcc -v
Reading specs from /usr/lib/gcc-lib/alpha-redhat-linux/egcs-2.90.29/specs
gcc version egcs-2.90.29 980515 (egcs-1.0.3 release)

	What doesn't show up in the above is that this is an Alpha XL300.
Thought I'd mention that...
	This resulted in an internal compiler error which is documented
below (for those who are really interested).  I then updated to the newest
stable version of egcs available.

[postgres@griddle postgres]$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/alphaev5-unknown-linux-gnu/egcs-2.91.57/specs
gcc version egcs-2.91.57 19980901 (egcs-1.1 release)

	After upgrading, I was able to compile the entire distribution
successfully.  At least one problem remains, however.  All the following
commands are run from user "postgres", an account which has been
configured exactly as described in the documentation.  When trying to
initialize the the database using the "initdb" command, I receive the
following error:


[postgres@griddle postgres]$ initdb

We are initializing the database system with username postgres (uid=503).
This user will own all the files and must also own the server process.

Creating template database in /usr/local/pgsql/data/base/template1

FATAL: s_lock(202ba680) at spin.c:114, stuck spinlock. Aborting.

FATAL: s_lock(202ba680) at spin.c:114, stuck spinlock. Aborting.
initdb: could not create template database
initdb: cleaning up by wiping out /usr/local/pgsql/data/base/template1
 

	Due to an extremely hectic schedule at the moment, I've been
unable to investigate this error any further.  If any further information
is required, please contact me at the "ReplyTo" address given above.
	For the record, I received the following internal compiler error
using egcs 1.0.3.  I include this only because egcs 1.0.3a, the compiler
used in this build, is apparently the default compiler for Red Hat v5.2.
The text below begins with the  src/backend/utils directory, which is
where the problems begin.  I include all the warnings as well in case
anyone was interested in fixing any or all of them...

[snip, snip]
make[2]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils'
for i in adt cache error fmgr hash init misc mmgr sort time; do make -C $i SUBSYS.o; done
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/adt'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c acl.c -o acl.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c arrayfuncs.c -o arrayfuncs.o
arrayfuncs.c: In function `array_clip':
arrayfuncs.c:1006: warning: cast from pointer to integer of different size
arrayfuncs.c:1021: warning: cast to pointer from integer of different size
arrayfuncs.c: In function `array_assgn':
arrayfuncs.c:1258: warning: cast from pointer to integer of different size
arrayfuncs.c: In function `ArrayCastAndSet':
arrayfuncs.c:1371: warning: cast from pointer to integer of different size
arrayfuncs.c: In function `_LOtransfer':
arrayfuncs.c:1690: warning: cast from pointer to integer of different size
arrayfuncs.c:1695: warning: cast from pointer to integer of different size
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c arrayutils.c -o arrayutils.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c bool.c -o bool.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c cash.c -o cash.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c char.c -o char.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c chunk.c -o chunk.o
chunk.c: In function `_ReadChunkArray':
chunk.c:530: warning: cast from pointer to integer of different size
chunk.c:561: warning: cast from pointer to integer of different size
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c date.c -o date.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c datetime.c -o datetime.o
datetime.c: In function `datetime_date':
datetime.c:290: internal error--unrecognizable insn:

[Ed. gcc error begins here... as if you couldn't tell... :) ]

(insn 53 66 67 (clobber (reg:DI 42 $f10)) -1 (insn_list:REG_DEP_ANTI 66 (nil))
    (expr_list:REG_UNUSED (reg:DI 42 $f10)
        (nil)))
gcc: Internal compiler error: program cc1 got fatal signal 6
make[3]: *** [datetime.o] Error 1

[Ed. Okay, we're all done]

make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/adt'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/cache'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c catcache.c -o catcache.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c inval.c -o inval.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c rel.c -o rel.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c relcache.c -o relcache.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c syscache.c -o syscache.o
syscache.c: In function `TypeDefaultRetrieve':
syscache.c:733: warning: cast to pointer from integer of different size
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c lsyscache.c -o lsyscache.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c fcache.c -o fcache.o
ld -r -o SUBSYS.o catcache.o inval.o rel.o relcache.o syscache.o lsyscache.o fcache.o
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/cache'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/error'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c assert.c -o assert.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c elog.c -o elog.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c exc.c -o exc.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c excabort.c -o excabort.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c excid.c -o excid.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c format.c -o format.o
ld -r -o SUBSYS.o assert.o elog.o exc.o excabort.o excid.o format.o
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/error'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/fmgr'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c dfmgr.c -o dfmgr.o
dfmgr.c:283: warning: no previous prototype for `trigger_dynamic'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c fmgr.c -o fmgr.o
ld -r -o SUBSYS.o dfmgr.o fmgr.o
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/fmgr'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/hash'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c dynahash.c -o dynahash.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c hashfn.c -o hashfn.o
ld -r -o SUBSYS.o dynahash.o hashfn.o
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/hash'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/init'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c enbl.c -o enbl.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c findbe.c -o findbe.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c globals.c -o globals.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c miscinit.c -o miscinit.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c postinit.c -o postinit.o
ld -r -o SUBSYS.o enbl.o findbe.o globals.o miscinit.o postinit.o
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/init'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/misc'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c database.c -o database.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c superuser.c -o superuser.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c trace.c -o trace.o
ld -r -o SUBSYS.o database.o superuser.o trace.o 
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/misc'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/mmgr'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c aset.c -o aset.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c mcxt.c -o mcxt.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c palloc.c -o palloc.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c portalmem.c -o portalmem.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c oset.c -o oset.o
ld -r -o SUBSYS.o aset.o mcxt.o palloc.o portalmem.o oset.o
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/mmgr'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/sort'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c lselect.c -o lselect.o
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c psort.c -o psort.o
ld -r -o SUBSYS.o lselect.o psort.o
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/sort'
make[3]: Entering directory `/home/postgres/postgresql-v6.4/src/backend/utils/time'
gcc -I../../../include -I../../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I../..   -c tqual.c -o tqual.o
ld -r -o SUBSYS.o tqual.o
make[3]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils/time'
gcc -I../../include -I../../backend   -O2 -mieee  -Wall -Wmissing-prototypes -I..    -c fmgrtab.c -o fmgrtab.o
make[2]: *** No rule to make target `adt/SUBSYS.o', needed by `SUBSYS.o'.  Stop.
make[2]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend/utils'
make[1]: *** [utils.dir] Error 2
make[1]: Leaving directory `/home/postgres/postgresql-v6.4/src/backend'
make: *** [all] Error 2



Mon, 16 Nov 1998 18:07:38 -0600 (EST)
mersault@griddle.sped.ukans.edu
Problems with Postgres v6.4 on RedHat 5.2