Re: PostgreSQL 8.3.8 on AIX5.3 : compilation failed

From: Alexandra Roy <Alexandra(dot)Roy(at)bull(dot)net>
To: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
Cc: pgsql general <pgsql-general(at)postgresql(dot)org>
Subject: Re: PostgreSQL 8.3.8 on AIX5.3 : compilation failed
Date: 2009-11-10 10:37:25
Message-ID: 4AF94265.5090604@bull.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Laurenz, hi all,<br>
<br>
This is a summary of what I have noticed concerning PostgreSQL 8.3.8
compilation on AIX 5.3 TL9.<br>
<br>
1. To do a successful 64-bit build, specify and execute:<br>
<blockquote><font face="Courier New" size="-1"># export
OBJECT_MODE="64"
<br>
# export CFLAGS="-maix64"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br>
# export LDFLAGS="-maix64 -Wl,-bbigtoc"
<br>
# ./configure
<br>
# gmake <br>
# gmake install </font><br>
</blockquote>
Laurenz, you are right: it is not necessary to specify: <br>
<pre wrap=""># export AR="ar -X64" </pre>
<br>
<br>
2. To do a successful 32-bit build, you must specify:<br>
<blockquote><font face="Courier New" size="-1"># export
OBJECT_MODE="32"
</font></blockquote>
and use the "<font color="#3333ff">-disable-largefile</font>" option
with configure :<br>
<blockquote><font face="Courier New" size="-1"># ./configure <font
color="#ff0000">-disable-largefile</font></font><br>
</blockquote>
If I use the "-disable-largefile" option, "configure" indicates at the
end: <br>
<blockquote><font color="#ff0000" face="Courier New" size="-1">configure:
WARNING: option ignored: --enable-largefile</font><br>
</blockquote>
And then, the compilation is successful:<br>
<blockquote><font color="#3333ff" face="Courier New" size="-1">All of
PostgreSQL successfully made. Ready to install.</font><br>
</blockquote>
Without the "-disable-largefile" option, the compilation is still
failing with this error:<br>
<blockquote><font face="Courier New" size="-1">In file included from
psqlscan.c:2385:
<br>
&nbsp;&nbsp; /usr/include/unistd.h:171: error: conflicting types for 'lseek64'
<br>
&nbsp;&nbsp; /usr/include/unistd.h:169: error: previous declaration of 'lseek64'
<br>
&nbsp;&nbsp; was here
<br>
&nbsp;&nbsp; In file included from /usr/include/unistd.h:744,
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from psqlscan.c:2385:
<br>
&nbsp;&nbsp; /usr/include/sys/lockf.h:64: error: conflicting types for 'lockf64'
<br>
&nbsp;&nbsp; /usr/include/sys/lockf.h:62: error: previous declaration of
<br>
&nbsp;&nbsp; 'lockf64' was here
</font><br>
</blockquote>
Does someone have an idea about this ? <br>
Why the "-disable-largefile" option is necessary to do a PostgreSQL
8.3.8 32-build ? <br>
Why the "OBJECT_MODE" exported to 32 is not sufficient ? <br>
<br>
Thank you for your answer.<br>
<br>
Regards,<br>
Alexandra<br>
<br>
<br>
Albe Laurenz a &eacute;crit&nbsp;:
<blockquote
cite="mid:D960CB61B694CF459DCFB4B0128514C203938023(at)exadv11(dot)host(dot)magwien(dot)gv(dot)at"
type="cite">
<pre wrap="">Alexandra Roy wrote:
</pre>
<blockquote type="cite">
<pre wrap="">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".
</pre>
</blockquote>
<pre wrap=""><!---->
I will look at the 32 bit case again.

</pre>
<blockquote type="cite">
<pre wrap="">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 :
</pre>
</blockquote>
<pre wrap=""><!---->
You don't have to be root for this.

</pre>
<blockquote type="cite">
<pre wrap=""># export OBJECT_MODE=64
# export CFLAGS="-maix64"
# export LDFLAGS="-maix64 -Wl,-bbigtoc"
# export AR="ar -X64" =&gt; this step was missing in my first test
</pre>
</blockquote>
<pre wrap=""><!---->
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.

</pre>
<blockquote type="cite">
<pre wrap=""># ./configure
# gmake
All of PostgreSQL successfully made. Ready to install.
</pre>
</blockquote>
<pre wrap=""><!---->
I'm glad that you got it to compile.

</pre>
<blockquote type="cite">
<pre wrap="">As non-root user :
# gmake check
=======================
All 114 tests passed.
=======================

As "root" user:
# gmake install
PostgreSQL installation complete.
</pre>
</blockquote>
<pre wrap=""><!---->
Yours,
Laurenz Albe

</pre>
</blockquote>
<div class="moz-signature"><font color="grey"><br>
</font>
</div>
</body>
</html>

Attachment Content-Type Size
unknown_filename text/html 4.5 KB

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alban Hertroys 2009-11-10 10:53:51 Re: [Fwd: Returning multiple rows in 8.4]
Previous Message Raimon Fernandez 2009-11-10 09:58:11 Re: Where I can find "SSL specification"?

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Tyler 2009-11-10 10:38:14 Re: drop tablespace error: invalid argument
Previous Message Marko Tiikkaja 2009-11-10 10:29:42 Query::targetList and RETURNING