Subject: RE: Make-Problem Postgres on Cygwin
From: "Godson Retna" <[email-masked]>
To: "Jason Tishler" <[email-masked]>
Cc: "Cygwin" <[email-masked]>, "Pgsql-Cygwin" <[email-masked]>
Date: Tue, 26 Nov 2002 14:10:45 +0530

Hi

The problem persists and I get the following error using make...even after
applying the patch.

Help me see where I am missing it.

Awaiting your input.

Thanks.

Godson R.

==============[begin
quote]===========================================================
make[3]: `SUBSYS.o' is up to date.
make[3]: Leaving directory
`/cygdrive/e/postgresql-7.2.1/src/backend/storage/fre
espace'
make -C ipc SUBSYS.o
make[3]: Entering directory
`/cygdrive/e/postgresql-7.2.1/src/backend/storage/ip
c'
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/
incl
ude -I/usr/local/include -DBUILDING_DLL=1  -c -o ipc.o ipc.c
cc1: warning: changing search order for system directory
"/usr/local/include"
cc1: warning:   as it has already been specified as a non-system directory
ipc.c: In function `InternalIpcSemaphoreCreate':
ipc.c:271: warning: implicit declaration of function `semget'
ipc.c:271: `IPC_CREAT' undeclared (first use in this function)
ipc.c:271: (Each undeclared identifier is reported only once
ipc.c:271: for each function it appears in.)
ipc.c:271: `IPC_EXCL' undeclared (first use in this function)
ipc.c:318: warning: implicit declaration of function `semctl'
ipc.c:318: `SETALL' undeclared (first use in this function)
ipc.c: In function `IpcSemaphoreKill':
ipc.c:351: `IPC_RMID' undeclared (first use in this function)
ipc.c: In function `IpcSemaphoreLock':
ipc.c:378: storage size of `sops' isn't known
ipc.c:422: warning: implicit declaration of function `semop'
ipc.c:378: warning: unused variable `sops'
ipc.c: In function `IpcSemaphoreUnlock':
ipc.c:441: storage size of `sops' isn't known
ipc.c:441: warning: unused variable `sops'
ipc.c: In function `IpcSemaphoreTryLock':
ipc.c:475: storage size of `sops' isn't known
ipc.c:478: `IPC_NOWAIT' undeclared (first use in this function)
ipc.c:475: warning: unused variable `sops'
ipc.c: In function `IpcSemaphoreGetValue':
ipc.c:519: `GETVAL' undeclared (first use in this function)
ipc.c: In function `IpcSemaphoreGetLastPID':
ipc.c:530: `GETPID' undeclared (first use in this function)
ipc.c: In function `InternalIpcMemoryCreate':
ipc.c:561: warning: implicit declaration of function `shmget'
ipc.c:561: `IPC_CREAT' undeclared (first use in this function)
ipc.c:561: `IPC_EXCL' undeclared (first use in this function)
ipc.c:638: warning: implicit declaration of function `shmat'
ipc.c:638: warning: assignment makes pointer from integer without a cast
ipc.c: In function `IpcMemoryDetach':
ipc.c:664: warning: implicit declaration of function `shmdt'
ipc.c: In function `IpcMemoryDelete':
ipc.c:681: warning: implicit declaration of function `shmctl'
ipc.c:681: `IPC_RMID' undeclared (first use in this function)
ipc.c: In function `SharedMemoryIsInUse':
ipc.c:697: storage size of `shmStat' isn't known
ipc.c:707: `IPC_STAT' undeclared (first use in this function)
ipc.c:697: warning: unused variable `shmStat'
ipc.c: In function `IpcMemoryCreate':
ipc.c:818: warning: assignment makes pointer from integer without a cast
ipc.c:850: `IPC_RMID' undeclared (first use in this function)
ipc.c: In function `IpcSemaphoreCreate':
ipc.c:940: `IPC_RMID' undeclared (first use in this function)
ipc.c:966: `SETVAL' undeclared (first use in this function)
make[3]: *** [ipc.o] Error 1
make[3]: Leaving directory
`/cygdrive/e/postgresql-7.2.1/src/backend/storage/ipc
'
make[2]: *** [ipc-recursive] Error 2
make[2]: Leaving directory
`/cygdrive/e/postgresql-7.2.1/src/backend/storage'
make[1]: *** [storage-recursive] Error 2
make[1]: Leaving directory `/cygdrive/e/postgresql-7.2.1/src/backend'
make: *** [all] Error 2

Administrator@WEBLOGIC /cygdrive/e/postgresql-7.2.1/src
$
================[end
quote]==================================================================

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]On Behalf
Of Jason Tishler
Sent: Friday, November 22, 2002 7:51 PM
To: Tarabas
Cc: Cygwin; Pgsql-Cygwin
Subject: Re: Make-Problem Postgres on Cygwin

Manuel,

Please post instead of sending private email.  However, your timing is
impeccable.  I just got around (yesterday) to building PostgreSQL under
the latest Cygwin gcc2 and gcc packages.

On Fri, Nov 22, 2002 at 01:23:48PM +0100, Tarabas wrote:
> I read your thread abut problems installing Postgresql on Cygwin as
> source-distribution. I got exactly the same problems with that!
>
> Before you ask:
> I HAVE TO use the source-build because I need to patch the maximum
arguments
> for a function on postgresql for my application, so installing binary is
not
> an option!
>
> I first got the Problem that the IPC-lib was not found in the configure
> which was solved by configuring with
>
> $ LDFLAGS=-L/usr/local/lib ./configure
> instead of the simple "./configure" ...
>
> Also the IPC-Daemon is installed an running! (ps -aef|grep ipc show's it!)
>
> Now i get an error when calling the make:
>
> <-snip->
> make[4]: Entering directory '/postgresql-7.2.3/src/backend/storage/ipc'
>
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../../src/
include -I/usr/local/include -DBUILDING_DLL=1 -c -o -ipc.o ipc.c
> cc1: warning: changing search order for system directory
"/usr/local/include"
> cc1: warning: as it has already been specified as a non-system-directory

The "-I/usr/local/include" is causing configure to get confused and
mis-configure PostgreSQL which causes the following (and other)
problems:

> ipc.c: In function 'InternalIpcSemaphoreCreate':
> ipc.c:271: warning: implicit declaration of function `semget'
> ipc.c:271: `IPC_CREAT' undeclared (first use in this function)
> ipc.c:271: (Each undeclared identifier is reported only once
> ipc.c:271: for each function it appears in.)
> <-snip->
>
> any ideas how to fix that ?!

Yes.

To build PostgreSQL 7.2.3 under gcc2, use the following procedure:

    1. apply attached postgresql-7.2.3-gcc2.patch
       $ patch -p1 <postgresql-7.2.3-gcc2.patch

    2. define CC and LDFLAGS as appropriate on configure command line:
       $ CC=gcc-2 LDFLAGS=-L/usr/local/lib configure ...

To build PostgreSQL 7.2.3 under gcc (i.e gcc 3.2), use the following
procedure:

    1. apply attached postgresql-7.2.3-gcc3.patch
       $ patch -p1 <postgresql-7.2.3-gcc3.patch

    2. define LDFLAGS as appropriate on configure command line:
       $ LDFLAGS=-L/usr/local/lib configure ...

Note:

    1. PostgreSQL CVS (i.e., 7.3) builds OOTB under Cygwin CVS (i.e.,
       1.3.16) and Perl 5.8.0.
    2. PostgreSQL 7.2.3's plperl fails to build (against Perl 5.6.1)
       with either the latest gcc2 or gcc.  I do not intend to track
       this issue down.

Jason

--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/