> If PostgreSQL failed to compile on your computer or you found a bug that
> is likely to be specific to one platform then please fill out this form
> and e-mail it to pgsql-ports@postgresql.org.
>
> To report any other bug, fill out the form below and e-mail it to
> pgsql-bugs@postgresql.org.
>
> If you not only found the problem but solved it and generated a patch
> then e-mail it to pgsql-patches@postgresql.org instead. Please use the
> command "diff -c" to generate the patch.
>
> You may also enter a bug report at http://www.postgresql.org/ instead of
> e-mail-ing this form.
>
> ==========================================================================
> ==
> POSTGRESQL BUG REPORT TEMPLATE
> ==========================================================================
> ==
>
>
> Your name :Robert Clouser
> Your email address :clouser@ll.mit.edu
>
>
> System Configuration
> ---------------------
> Architecture (example: Intel Pentium) :DEC Alpha 4.0b
>
> Operating System (example: Linux 2.0.26 ELF) :DEC ALpha 4.0b
>
> PostgreSQL version (example: PostgreSQL-6.5.2): PostgreSQL-6.5.2
>
> Compiler used (example: gcc 2.8.0) :DEC cc
>
>
> Please enter a FULL description of your problem:
> -----------------------------------------------
> Following the installation instructions, I compiled the code with 'gmake
> all >& make.out'. It gets quite a ways (with one or two
> warnings) and then (portion of the make.log file):
> .
> .
> .
> gmake -C libpq all
> gmake[2]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/libpq'
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c be-dumpdata.c -o be-dumpdata.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c be-fsstubs.c -o be-fsstubs.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c be-pqexec.c -o be-pqexec.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c portal.c -o portal.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c portalbuf.c -o portalbuf.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c auth.c -o auth.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c hba.c -o hba.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c crypt.c -o crypt.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c password.c -o password.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c pqcomm.c -o pqcomm.o
> cc: Warning: pqcomm.c, line 355: In this statement, the referenced type of
> the pointer value "&addrlen" is "unsigned long", which is not compatible
> with "int".
> if ((port->sock = accept(server_fd,
> --------------------------^
> cc: Warning: pqcomm.c, line 365: In this statement, the referenced type of
> the pointer value "&addrlen" is "unsigned long", which is not compatible
> with "int".
> if (getsockname(port->sock, (struct sockaddr *) & port->laddr,
> ------------^
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c pqformat.c -o pqformat.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c pqpacket.c -o pqpacket.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c pqsignal.c -o pqsignal.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c util.c -o util.o
> ld -r -o SUBSYS.o be-dumpdata.o be-fsstubs.o be-pqexec.o portal.o
> portalbuf.o auth.o hba.o crypt.o password.o pqcomm.o pqformat.o pqpacket.o
> pqsignal.o util.o
> gmake[2]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/libpq'
>
> gmake -C port all
> gmake[2]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/port'
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c dynloader.c -o dynloader.o
> cc: Warning: dynloader.c, line 4: Source file does not contain any
> declarations.
> */
> ---^
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c isinf.c -o isinf.o
> cc -I../../include -I../../backend -DNOFIXADE -std -O4 -Olimit 2000 -I..
> -c snprintf.c -o snprintf.o
> ld -r -o SUBSYS.o dynloader.o isinf.o snprintf.o
> gmake[2]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/port'
>
> gmake -C storage all
> gmake[2]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage'
> for i in buffer file ipc large_object lmgr page smgr; do gmake -C $i
> SUBSYS.o; done
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/buffer'
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c buf_table.c -o buf_table.o
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c buf_init.c -o buf_init.o
> cc: Error: buf_init.c, line 219: In this statement, "0" is of type "int",
> and may not be converted to "unnamed struct".
> S_INIT_LOCK(&(buf->io_in_progress_lock));
> ------------------------^
> cc: Error: buf_init.c, line 220: In this statement, "0" is of type "int",
> and may not be converted to "unnamed struct".
> S_INIT_LOCK(&(buf->cntx_lock));
> ------------------------^
> gmake[3]: *** [buf_init.o] Error 1
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/buffer'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/file'
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c fd.c -o fd.o
> ld -r -o SUBSYS.o fd.o
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/file'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/ipc'
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c ipc.c -o ipc.o
> cc: Error: ipc.c, line 700: In this statement, "0" is of type "int", and
> may not be converted to "unnamed struct".
> S_INIT_LOCK(&(slckP->locklock));
> ----------------^
> cc: Error: ipc.c, line 703: In this statement, "0" is of type "int", and
> may not be converted to "unnamed struct".
> S_INIT_LOCK(&(slckP->shlock));
> ----------------^
> cc: Error: ipc.c, line 704: In this statement, "0" is of type "int", and
> may not be converted to "unnamed struct".
> S_INIT_LOCK(&(slckP->exlock));
> ----------------^
> cc: Error: ipc.c, line 705: In this statement, "0" is of type "int", and
> may not be converted to "unnamed struct".
> S_INIT_LOCK(&(slckP->comlock));
> ----------------^
> cc: Error: ipc.c, line 726: In this statement, "0" is of type "int", and
> may not be converted to "unnamed struct".
> S_INIT_LOCK(SLockMemoryLock);
> --------^
> gmake[3]: *** [ipc.o] Error 1
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/ipc'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/large_object'
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c inv_api.c -o inv_api.o
> ld -r -o SUBSYS.o inv_api.o
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/large_object'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/lmgr'
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c lmgr.c -o lmgr.o
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c lock.c -o lock.o
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c proc.c -o proc.o
> ld -r -o SUBSYS.o lmgr.o lock.o proc.o
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/lmgr'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/page'
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c bufpage.c -o bufpage.o
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c itemptr.c -o itemptr.o
> ld -r -o SUBSYS.o bufpage.o itemptr.o
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/page'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/smgr'
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c md.c -o md.o
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c mm.c -o mm.o
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c smgr.c -o smgr.o
> cc -I../../../include -I../../../backend -DNOFIXADE -std -O4 -Olimit
> 2000 -I../.. -c smgrtype.c -o smgrtype.o
> ld -r -o SUBSYS.o md.o mm.o smgr.o smgrtype.o
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/smgr'
> for i in buffer file ipc large_object lmgr page smgr; do gmake -C $i
> buffer/SUBSYS.o; done
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/buffer'
> gmake[3]: *** No rule to make target `buffer/SUBSYS.o'. Stop.
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/buffer'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/file'
> gmake[3]: *** No rule to make target `buffer/SUBSYS.o'. Stop.
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/file'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/ipc'
> gmake[3]: *** No rule to make target `buffer/SUBSYS.o'. Stop.
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/ipc'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/large_object'
> gmake[3]: *** No rule to make target `buffer/SUBSYS.o'. Stop.
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/large_object'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/lmgr'
> gmake[3]: *** No rule to make target `buffer/SUBSYS.o'. Stop.
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/lmgr'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/page'
> gmake[3]: *** No rule to make target `buffer/SUBSYS.o'. Stop.
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/page'
> gmake[3]: Entering directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/smgr'
> gmake[3]: *** No rule to make target `buffer/SUBSYS.o'. Stop.
> gmake[3]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage/smgr'
> gmake[2]: *** [buffer/SUBSYS.o] Error 2
> gmake[2]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend/storage'
> gmake[1]: *** [storage.dir] Error 2
> gmake[1]: Leaving directory
> `/usr/adonis2/pgsql/postgresql-6.5.2/src/backend'
> gmake: *** [all] Error 2
>
> END OF MAKE.LOG
>
>
> Please describe a way to repeat the problem. Please try to provide a
> concise reproducible example, if at all possible:
> ----------------------------------------------------------------------
>
> Followed the instructions exactly. I used the --with-template=alpha_cc
> option to ./configure, and it made
> no difference. Apparently, the type error in ipc.c and buff_init.c means
> that the SUBSYS.o file is not made
> in those directories!
>
>
>
>
>
> If you know how this problem might be fixed, list the solution below:
> ---------------------------------------------------------------------
> Is there a compiler flag that will let this type-mismatch pass. It is hard
> to imagine this is not platform-specific, since
> otherwise such a major bug would have shown up elswhere (1/0 is undefined
> on any machine!).
>
>
>
> --------------------------------------------------------------------------
> -----------------
> Dr. Robert H. Clouser
> S4-563, MIT-Lincoln Laboratory
> (781) 981-1989
> clouser@ll.mit.edu
>