Re: DEC OSF compile fails in buf_init.c - Mailing list pgsql-ports

From Yan Zhang Chen
Subject Re: DEC OSF compile fails in buf_init.c
Date
Msg-id Pine.LNX.4.05.9910180646290.30906-100000@jasmine.eng.mindspring.net
Whole thread Raw
Responses Re: [PORTS] Re: DEC OSF compile fails in buf_init.c
List pgsql-ports
Hi all! I saw the following bug report in the mailinglist archive,
but haven't seen much feedback/bugfix. I'm having the similar
problem when I was trying to compile postgresql 6.5.2 on Digital Unix 4.0d.
Wonder if anyone has worked out a fix, and kindly post it?

Thanks very much,
--Yan


-----------------------------------------------------------------
Port Bug Report: syntax errors in spinlocks (s_lock.h)



      From: Unprivileged user <nobody>
      To: pgsql-ports@postgresql.org
      Subject: Port Bug Report: syntax errors in spinlocks (s_lock.h)
      Date: Tue, 13 Apr 1999 12:43:28 -0400 (EDT)




============================================================================
                        POSTGRESQL BUG REPORT TEMPLATE
============================================================================


Your name               : Jarda Benkovsky
Your email address      : benkovsk@pha.pvt.cz

Category                : install: compile
Severity                : serious

Summary: syntax errors in spinlocks (s_lock.h)

System Configuration
--------------------
  Operating System   : Digital Unix 4.0e

  PostgreSQL version : 6.4.2

  Compiler used      : gcc 2.8.1, DEC C V5.8-009

Hardware:
---------
Alpha 2100
uname -a: OSF1 shadow.pvt.net V4.0 1091 alpha

Versions of other tools:
------------------------
gnu make

--------------------------------------------------------------------------

Problem Description:
--------------------
On Digital Unix alphas, msemaphores are defined as a struct of two ints.
Neither gcc, nor native do not like constructs like *(lock) = 0;

Native cc:

/usr/bin/cc -I../../../include -I../../../backend   -DNOFIXADE  -I../..   -c buf_init.c -o buf_init.o
cc: Error: buf_init.c, line 234: In this statement, "0" is of type "int", and cannot be converted to "struct declared
withouta tag". (noconvert) 
                        S_INIT_LOCK(&(buf->io_in_progress_lock));
------------------------^

GCC:
../../../include/storage/s_lock.h: In function `tas':
In file included from buf_init.c:29:
../../../include/storage/s_lock.h:102: aggregate value used where an integer was expected
buf_init.c: In function `InitBufferPool':
buf_init.c:234: incompatible types in assignment


Especially the case of native CC is interesting, as there
should not be such case and I was not able to reproduce
it in controlled environment - but maybe I did some mistake
during the test.

--------------------------------------------------------------------------

Test Case:
----------
./configure; make

--------------------------------------------------------------------------

Solution:
---------


--------------------------------------------------------------------------




pgsql-ports by date:

Previous
From: mike
Date:
Subject: unlisted successful compilation
Next
From: "Pedro J. Lobo"
Date:
Subject: Re: [PORTS] Re: DEC OSF compile fails in buf_init.c