============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name : Alain Bonissent
Your email address : bonissent@cern.ch
Category : install: compile
Severity : critical
Summary: ../../../include/storage/s_lock.h:102: aggregate value used where an integer was expected
System Configuration
--------------------
Operating System : Digital Unix
PostgreSQL version : 6.4.2
Compiler used : gcc : egcs-2.91.60
Hardware:
---------
DEC Alpha
Versions of other tools:
------------------------
GNU Make version 3.77
--------------------------------------------------------------------------
Problem Description:
--------------------
Here are a few lines of the make.log file :
gmake[3]: Entering directory `/local/postgres/postgresql-6.4.2/src/backend/storage/buffer'
gcc -I../../../include -I../../../backend -DNOFIXADE -Wall -Wmissing-prototypes -I../.. -c buf_init.c -o
buf_init.o
../../../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
gmake[3]: *** [buf_init.o] Error 1
--------------------------------------------------------------------------
Test Case:
----------
-ftp the gzip file
-unzip
-untar
-cd src
- ./configure --prefix=/local/postgres/pgsql
--------------------------------------------------------------------------
Solution:
---------
My impression is that there is an attempt to assign an integer
with a structure (type slock_t has 2 integer words). In fact,
I managed to pass the first step by the following :
// return (int) _res;
return (int) _res.msem_state;
lines 102-103 of s_lock.h
but I am not sure if it does the right thing, and I still
crash at line 234 of buf_init.c
--------------------------------------------------------------------------