Re: PostgreSQL 8.3.8 on AIX5.3 : compilation failed - Mailing list pgsql-general

From Alexandra Roy
Subject Re: PostgreSQL 8.3.8 on AIX5.3 : compilation failed
Date
Msg-id 4AF94265.5090604@bull.net
Whole thread Raw
In response to Re: PostgreSQL 8.3.8 on AIX5.3 : compilation failed  ("Albe Laurenz" <laurenz.albe@wien.gv.at>)
Responses Re: PostgreSQL 8.3.8 on AIX5.3 : compilation failed  ("Albe Laurenz" <laurenz.albe@wien.gv.at>)
Re: PostgreSQL 8.3.8 on AIX5.3 : compilation failed  ("Albe Laurenz" <laurenz.albe@wien.gv.at>)
List pgsql-general
Hi Laurenz, hi all,

This is a summary of what I have noticed concerning PostgreSQL 8.3.8
compilation on AIX 5.3 TL9.

1. To do a successful 64-bit build, specify and execute:
# export
OBJECT_MODE="64"

# export CFLAGS="-maix64"              
# export LDFLAGS="-maix64 -Wl,-bbigtoc"

# ./configure

# gmake
# gmake install

Laurenz, you are right: it is not necessary to specify:
# export AR="ar -X64"


2. To do a successful 32-bit build, you must specify:
# export
OBJECT_MODE="32"

and use the "-disable-largefile" option
with configure :
# ./configure <font
 color="#ff0000">-disable-largefile

If I use the "-disable-largefile" option, "configure" indicates at the
end:
configure:
WARNING: option ignored: --enable-largefile

And then, the compilation is successful:
All of
PostgreSQL successfully made. Ready to install.

Without the "-disable-largefile" option, the compilation is still
failing with this error:
In file included from
psqlscan.c:2385:

   /usr/include/unistd.h:171: error: conflicting types for 'lseek64'

   /usr/include/unistd.h:169: error: previous declaration of 'lseek64'

   was here

   In file included from /usr/include/unistd.h:744,

                    from
psqlscan.c:2385:

   /usr/include/sys/lockf.h:64: error: conflicting types for 'lockf64'

   /usr/include/sys/lockf.h:62: error: previous declaration of

   'lockf64' was here


Does someone have an idea about this ?
Why the "-disable-largefile" option is necessary to do a PostgreSQL
8.3.8 32-build ?
Why the "OBJECT_MODE" exported to 32 is not sufficient ?

Thank you for your answer.

Regards,
Alexandra


Albe Laurenz a écrit :
<blockquote
 cite="mid:D960CB61B694CF459DCFB4B0128514C203938023@exadv11.host.magwien.gv.at"
 type="cite">
  Alexandra Roy wrote:


    I have always run "gmake distclean" before relaunching a build.

Maybe the32-bit build failed because I have not set and exported the
"OBJECT_MODE" environment variable.
I will try to build PostgreSQL once again with "export
OBJECT_MODE=32".



I will look at the 32 bit case again.



    I continued to test a 64-bit build and finally, I found the
procedure to
do a 64-bit build of PostgreSQL 8.3.8 on AIX 5.3.
As "root" user :



You don't have to be root for this.



    # export OBJECT_MODE=64
# export CFLAGS="-maix64"
# export LDFLAGS="-maix64 -Wl,-bbigtoc"
# export AR="ar -X64" => this step was missing in my first test



This should not be necessary - if you look at the man page of "ar"
you will see that the default value of the -X flag is derived
from OBJECT_MODE.



    # ./configure
# gmake
All of PostgreSQL successfully made. Ready to install.



I'm glad that you got it to compile.



    As non-root user :
# gmake check
=======================
 All 114 tests passed.
=======================

As "root" user:
# gmake install
PostgreSQL installation complete.



Yours,
Laurenz Albe

pgsql-general by date:

Previous
From: Michael Harris
Date:
Subject: Re: Database Startup Failure: FATAL: could not read block 6 of relation 16390/16391/5153282: Success
Next
From: Alban Hertroys
Date:
Subject: Re: [Fwd: Returning multiple rows in 8.4]