Thread: FYI - Build problems when an RPM version is installed

FYI - Build problems when an RPM version is installed

From
Mike Mascari
Date:
Hello,

I don't know if this is worth mentioning, but when I tried to
build the Sept. 11 snapshot on a machine which has the 7.0.2 RPMS
installed, I did a:

./configure
gmake

and got the following error:

gmake[4]: Entering directory
`/usr/src/pgsql/src/backend/storage/ipc'
gcc -c  -I../../../../src/include  -O2 -Wall -Wmissing-prototypes
-Wmissing-declarations ipc.c -o ipc.o
ipc.c: In function `IPCPrivateSemaphoreKill':
ipc.c:240: storage size of `semun' isn't known
ipc.c:240: warning: unused variable `semun'
ipc.c: In function `IpcSemaphoreCreate':
ipc.c:293: storage size of `semun' isn't known
ipc.c:293: warning: unused variable `semun'
ipc.c: In function `IpcSemaphoreKill':
ipc.c:392: storage size of `semun' isn't known
ipc.c:392: warning: unused variable `semun'
ipc.c: In function `IpcSemaphoreGetCount':
ipc.c:495: storage size of `dummy' isn't known
ipc.c:495: warning: unused variable `dummy'
ipc.c: In function `IpcSemaphoreGetValue':
ipc.c:506: storage size of `dummy' isn't known
ipc.c:506: warning: unused variable `dummy'
gmake[4]: *** [ipc.o] Error 1
gmake[4]: Leaving directory
`/usr/src/pgsql/src/backend/storage/ipc'
gmake[3]: *** [ipc-recursive] Error 2
gmake[3]: Leaving directory `/usr/src/pgsql/src/backend/storage'
gmake[2]: *** [storage-recursive] Error 2
gmake[2]: Leaving directory `/usr/src/pgsql/src/backend'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/src/pgsql/src'
gmake: *** [all] Error 2

It seems to be that HAVE_UNION_SEMUN is set by configure, because
it appears in the file /usr/include/pgsql/storage/ipc.h, which is
somehow included in the configure test. During the build process,
however, the RPM headers are, properly, not included. Moving
/usr/include/pgsql to /tmp allows for the build to take place, so
no harm no foul. I'm not sure if this is a problem or not, but
its nice to be able to run snapshots on the same machine as
RPM-based production versions for development.

For what its worth, 

Mike Mascari


Re: FYI - Build problems when an RPM version is installed

From
Thomas Lockhart
Date:
> It seems to be that HAVE_UNION_SEMUN is set by configure, because
> it appears in the file /usr/include/pgsql/storage/ipc.h, which is
> somehow included in the configure test. During the build process,
> however, the RPM headers are, properly, not included. Moving
> /usr/include/pgsql to /tmp allows for the build to take place, so
> no harm no foul. I'm not sure if this is a problem or not, but
> its nice to be able to run snapshots on the same machine as
> RPM-based production versions for development.

Hmm. I've been building in the same kind of environment (7.0.2 RPMs
installed; cvs snapshot in my home directory) and do not see this
symptom. I did a "make distclean" this evening so had a fairly fresh
start.

btw, I had to blow away all of my installation area to get things to
initdb this evening. Not sure what was not getting
replaced/updated/removed by the normal installation process, but
whatever it was led to core dumps when building the template database.
                     - Thomas


Re: FYI - Build problems when an RPM version is installed

From
Mike Mascari
Date:
Thomas Lockhart wrote:
> 
> > It seems to be that HAVE_UNION_SEMUN is set by configure, because
> > it appears in the file /usr/include/pgsql/storage/ipc.h, which is
> > somehow included in the configure test. During the build process,
> > however, the RPM headers are, properly, not included. Moving
> > /usr/include/pgsql to /tmp allows for the build to take place, so
> > no harm no foul. I'm not sure if this is a problem or not, but
> > its nice to be able to run snapshots on the same machine as
> > RPM-based production versions for development.
> 
> Hmm. I've been building in the same kind of environment (7.0.2 RPMs
> installed; cvs snapshot in my home directory) and do not see this
> symptom. I did a "make distclean" this evening so had a fairly fresh
> start.
> 
> btw, I had to blow away all of my installation area to get things to
> initdb this evening. Not sure what was not getting
> replaced/updated/removed by the normal installation process, but
> whatever it was led to core dumps when building the template database.
> 
>                       - Thomas

Sorry. It looks like config.cache is being distributed with the
snapshot. I must have performed a make distclean after moving the
include directory and concluded incorrectly regarding the ipc.h
header.

Mike Mascari