Hi Laurenz,
It was a 32-bit build as I didn't have set the "OBJECT_MODE" to 64.
I call configure and make using as root user:
# ./configure
# gmake
The releases of "make" and "gcc" are :
make-3.80-1
gcc-4.2.0-3
Please find below the result of that you ask me:
1. # grep -i large config.log
configure:18474: checking for _LARGEFILE_SOURCE value needed for
large files
configure:23755: checking for special C compiler options needed for
large files
configure:23860: checking for _FILE_OFFSET_BITS value needed for
large files
conftest.c:144: error: size of array 'off_t_is_large' is negative
| We can't simply define LARGE_OFF_T to be 9223372036854775807,
| #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
| int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
| && LARGE_OFF_T % 2147483647 == 1)
conftest.c:145: error: size of array 'off_t_is_large' is negative
| We can't simply define LARGE_OFF_T to be 9223372036854775807,
| #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
| int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
| && LARGE_OFF_T % 2147483647 == 1)
configure:23985: checking for _LARGE_FILES value needed for large files
conftest.c:144: error: size of array 'off_t_is_large' is negative
| We can't simply define LARGE_OFF_T to be 9223372036854775807,
| #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
| int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
| && LARGE_OFF_T % 2147483647 == 1)
ac_cv_sys_large_files=1
ac_cv_sys_largefile_CC=no
ac_cv_sys_largefile_source=no
#define _LARGE_FILES 1
2. # grep -i large include/pg_config.h
grep: 0652-033 Cannot open include/pg_config.h.
#
# grep -i large src/include/pg_config.h
/* #undef _LARGEFILE_SOURCE */
/* Define for large files, on AIX-style hosts. */
#define _LARGE_FILES 1
Since my post, I have followed the advice of PostgreSQL 8.4
documentation on AIX to do a 64-bit build:
http://www.postgresql.org/docs/8.4/static/installation-platform-notes.html#INSTALLATION-NOTES-AIX
that is to say I have :
- set OBJECT_MODE to 64
- pass CC="gcc -maix64" and LDFLAGS="-Wl,-bbigtoc" to configure
- execute gmake
gmake failed with these errors :
gcc -maix64 -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing
-fwrapv -I../../src/port -DFRONTEND -I../../src/include -c -o
sprompt.o sprompt.c
gcc -maix64 -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
-Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing
-fwrapv -I../../src/port -DFRONTEND -I../../src/include -c thread.c
ar crs libpgport.a strlcat.o strlcpy.o getopt_long.o chklocale.o
copydir.o dirmod.o exec.o noblock.o path.o pipe.o pgsleep.o
pgstrcasecmp.o qsort.o qsort_arg.o sprompt.o thread.o
ar: 0707-126 strlcat.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 strlcpy.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 getopt_long.o is not valid with the current object file
mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 chklocale.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 copydir.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 dirmod.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 exec.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 noblock.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 path.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 pipe.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 pgsleep.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 pgstrcasecmp.o is not valid with the current object
file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 qsort.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 qsort_arg.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 sprompt.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
ar: 0707-126 thread.o is not valid with the current object file mode.
Use the -X option to specify the desired object mode.
gmake[2]: *** [libpgport.a] Error 16
gmake[2]: Leaving directory
`/home/PostgreSQL_8.3.8/sources/postgresql-8.3.8/src/port'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory
`/home/PostgreSQL_8.3.8/sources/postgresql-8.3.8/src'
gmake: *** [all] Error 2
Do you have an idea about these errors ?
Thank you.
Regards,
Alexandra
Albe Laurenz a écrit :
I am trying to compile PostgreSQL 8.3.8 on AIX 5.3 TL9 (64 bits).
The ".configure" has been executed with success without any
error but the compilation of PostgreSQL with "gmake" fails.
Please find below the errors I get :
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:
[...]
I read on the PostgreSQL.fr's forum that this error is linked
to large files in 64 bits system, allowing to read / write
files of 2 GB and over.
I also read that I can use the "-disable-largefile" while I
launched ".configure" but I don't really understand the problem.
If PostgreSQL can't use such files, except for trace logs,
why the compilation fails on large files ?
Is this a 32-bit or a 64-bit build?
How exactly did you call configure and make?
After configuring, what do you get when you run
grep -i large config.log
in the PostgreSQL directory?
And what is the result of
grep -i large include/pg_config.h
Yours,
Laurenz Albe
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general