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 | 4AF81DD0.2030804@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
|
List | pgsql-general |
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@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
pgsql-general by date: