Thread: Error while compiling on HP-UX ia64
While compiling PostgreSQL-9.0.0 on HP-UX/ia64 (B.11.23) gmake breaks up with the next errors:
…..
gmake -C libpq all
gmake[3]: Entering directory `/anva/compile-postgres/psqlsource/postgresql-9.0.0/src/backend/libpq'
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o be-fsstubs.o be-fsstubs.c
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o be-secure.o be-secure.c
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o auth.o auth.c
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o crypt.o crypt.c
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o hba.o hba.c
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o ip.o ip.c
ip.c: In function 'pg_foreach_ifaddr':
ip.c:654: error: storage size of 'lifc' isn't known
ip.c:656: error: storage size of 'lmask' isn't known
ip.c:692: error: invalid application of 'sizeof' to incomplete type 'struct if_laddrconf'
ip.c:721: error: invalid application of 'sizeof' to incomplete type 'struct lifreq'
ip.c:725: error: invalid use of undefined type 'struct lifreq'
ip.c:725: error: dereferencing pointer to incomplete type
ip.c:726: error: invalid use of undefined type 'struct lifreq'
ip.c:726: error: dereferencing pointer to incomplete type
ip.c:726: error: invalid application of 'sizeof' to incomplete type 'struct lifreq'
ip.c:732: error: invalid application of 'sizeof' to incomplete type 'struct if_laddrreq'
ip.c:656: warning: unused variable 'lmask'
ip.c:654: warning: unused variable 'lifc'
gmake[3]: *** [ip.o] Error 1
gmake[3]: Leaving directory `/anva/compile-postgres/psqlsource/postgresql-9.0.0/src/backend/libpq'
gmake[2]: *** [libpq-recursive] Error 2
gmake[2]: Leaving directory `/anva/compile-postgres/psqlsource/postgresql-9.0.0/src/backend'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/anva/compile-postgres/psqlsource/postgresql-9.0.0/src'
gmake: *** [world] Error 2
I did a configure with the following options:
CC=gcc --with-libs=/usr/lib:/usr/local/lib --with-includes=/usr/include:/usr/local/include --with-openssl --disable-thread-safety
The used gcc is of version 4.2.3 and gmake version 3.82.
Is there anybody who knows what’s going wrong.
The same compile works fine for SLES9, SLES10, SLES11, RHEL5 and AIX 5.2.
Derk Jan Horstman
***************************DISCLAIMER***********************************
Deze e-mail is uitsluitend bestemd voor de geadresseerde(n). Verstrekking aan en gebruik door anderen is niet toegestaan. ANVA bv sluit iedere aansprakelijkheid uit die voortvloeit uit electronische verzending.
This e-mail is intended exclusively for the addressee(s), and may not be passed on to, or made available for use by any person other than the addressee(s). ANVA bv rules out any and every liability resulting from any electronic transmission.
******************************************************************************
Derk Jan Horstman <dj.horstman@anva.nl> writes: > While compiling PostgreSQL-9.0.0 on HP-UX/ia64 (B.11.23) gmake breaks up with the next errors: > ip.c:654: error: storage size of 'lifc' isn't known > ip.c:656: error: storage size of 'lmask' isn't known > ip.c:692: error: invalid application of 'sizeof' to incomplete type 'struct if_laddrconf' > ip.c:721: error: invalid application of 'sizeof' to incomplete type 'struct lifreq' So which system header files declare those structs? They should exist someplace, since the system evidently declares SIOCGLIFCONF. regards, tom lane
Tom, I found the next system header files: /usr/include/sys/ioctl.h /usr/include/net/if.h /usr/include/net/if6.h /usr/include/sys/ioctl.h #define SIOCGLIFCONF _IOWR('I',20, struct if_laddrconf) /*get l_addr list */ Lifreq is declared in if.h While if_laddrconf is declared in if6.h So after your reply I was searching to the right HP-UX patches but I ran stuck with it. There are some patches installed and after that the error on 'struct if_laddrconf' is disappeared but gmake is still goingwrong with the next messages: ip.c: In function 'pg_foreach_ifaddr': ip.c:654: error: storage size of 'lifc' isn't known ip.c:725: error: 'struct lifreq' has no member named 'lifr_addr' ip.c:735: error: 'struct lifreq' has no member named 'lifr_addr' ip.c:654: warning: unused variable 'lifc' gmake[3]: *** [ip.o] Error 1 So I think the problem should be found in HP-UX patches. Unfortunately the install of the last service pack ran into trouble with incomplete dependencies and a broken kernel compilation.So at this moment I have to fix an HP-UX Itanium (another challenge) Regards, Derk Jan Horstman -----Oorspronkelijk bericht----- Van: Tom Lane [mailto:tgl@sss.pgh.pa.us] Verzonden: maandag 4 oktober 2010 16:12 Aan: Derk Jan Horstman CC: 'pgsql-general@postgresql.org' Onderwerp: Re: [GENERAL] Error while compiling on HP-UX ia64 Derk Jan Horstman <dj.horstman@anva.nl> writes: > While compiling PostgreSQL-9.0.0 on HP-UX/ia64 (B.11.23) gmake breaks up with the next errors: > ip.c:654: error: storage size of 'lifc' isn't known > ip.c:656: error: storage size of 'lmask' isn't known > ip.c:692: error: invalid application of 'sizeof' to incomplete type 'struct if_laddrconf' > ip.c:721: error: invalid application of 'sizeof' to incomplete type 'struct lifreq' So which system header files declare those structs? They should exist someplace, since the system evidently declares SIOCGLIFCONF. regards, tom lane ***************************DISCLAIMER*********************************** Deze e-mail is uitsluitend bestemd voor de geadresseerde(n). Verstrekking aan en gebruik door anderen is niet toegestaan.ANVA bv sluit iedere aansprakelijkheid uit die voortvloeit uit electronische verzending. This e-mail is intended exclusively for the addressee(s), and may not be passed on to, or made available for use by any personother than the addressee(s). ANVA bv rules out any and every liability resulting from any electronic transmission. ******************************************************************************
Hi, After a new install of HP-UX B.11.23 (ia64) and installing the latest patches on it, I've tried to compile PostgreSQL 9.0.1from source again. But I've still got problems with compiling, the process is ending with the next errors: gmake[3]: Entering directory `/anva/PostgreSQL/pgsqlsource/postgresql-9.0.1/src/backend/libpq' gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv-I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o be-fsstubs.o be-fsstubs.c gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv-I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o be-secure.o be-secure.c gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv-I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o auth.o auth.c gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv-I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o crypt.o crypt.c gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv-I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o hba.o hba.c gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv-I../../../src/include -D_XOPEN_SOURCE_EXTENDED -I/usr/include -I/usr/local/include -c -o ip.o ip.c ip.c: In function 'pg_foreach_ifaddr': ip.c:654: error: storage size of 'lifc' isn't known ip.c:725: error: 'struct lifreq' has no member named 'lifr_addr' ip.c:735: error: 'struct lifreq' has no member named 'lifr_addr' ip.c:654: warning: unused variable 'lifc' gmake[3]: *** [ip.o] Error 1 gmake[3]: Leaving directory `/anva/PostgreSQL/pgsqlsource/postgresql-9.0.1/src/backend/libpq' gmake[2]: *** [libpq-recursive] Error 2 gmake[2]: Leaving directory `/anva/PostgreSQL/pgsqlsource/postgresql-9.0.1/src/backend' gmake[1]: *** [all] Error 2 gmake[1]: Leaving directory `/anva/PostgreSQL/pgsqlsource/postgresql-9.0.1/src' gmake: *** [all] Error 2 SIOCGLIFCONF is declared in /usr/include/sys/ioctl.h #define SIOCGLIFCONF _IOWR('I',20, struct if_laddrconf) /*get l_addr list */ Struct lifreq is declared in /usr/include/net/if.h /* Logical interface request */ struct lifreq { int lifr_flags; char lifr_target[IFNAMSIZ]; char lifr_source[IFNAMSIZ]; }; Mkheaders from the gcc tools is used to solve incompatibilities between the HP-UX system header files and the gcc library. But it doesn't affect this problem. Does anybody knows how to solve this problem? Regards, Derk Jan Horstman ***************************DISCLAIMER*********************************** Deze e-mail is uitsluitend bestemd voor de geadresseerde(n). Verstrekking aan en gebruik door anderen is niet toegestaan.ANVA bv sluit iedere aansprakelijkheid uit die voortvloeit uit electronische verzending. This e-mail is intended exclusively for the addressee(s), and may not be passed on to, or made available for use by any personother than the addressee(s). ANVA bv rules out any and every liability resulting from any electronic transmission. ******************************************************************************
Derk Jan Horstman <dj.horstman@anva.nl> writes: > After a new install of HP-UX B.11.23 (ia64) and installing the latest patches on it, I've tried to compile PostgreSQL 9.0.1from source again. > But I've still got problems with compiling, the process is ending with the next errors: > ip.c: In function 'pg_foreach_ifaddr': > ip.c:654: error: storage size of 'lifc' isn't known > ip.c:725: error: 'struct lifreq' has no member named 'lifr_addr' > ip.c:735: error: 'struct lifreq' has no member named 'lifr_addr' Hm. A bit of googling suggests that HPUX is randomly incompatible with the rest of the world concerning the output format of SIOCGLIFCONF (which is no great surprise). Unfortunately, it seems they've shut down www.testdrive.hp.com, which means there's no longer any easy access to HP systems on which one could test a fix. If you want this fixed, you're going to have to do it yourself, or find some other HPUX user who will fix it, or provide access to an HPUX system to somebody who wants to fix it. regards, tom lane
> Derk Jan Horstman <dj.horstman@anva.nl> writes: > > After a new install of HP-UX B.11.23 (ia64) and installing the latest patches on it, I've tried to compile PostgreSQL9.0.1 from source again. > > But I've still got problems with compiling, the process is ending with the next errors: > > ip.c: In function 'pg_foreach_ifaddr': > > ip.c:654: error: storage size of 'lifc' isn't known > > ip.c:725: error: 'struct lifreq' has no member named 'lifr_addr' > > ip.c:735: error: 'struct lifreq' has no member named 'lifr_addr' > Hm. A bit of googling suggests that HPUX is randomly incompatible with > the rest of the world concerning the output format of SIOCGLIFCONF > (which is no great surprise). > > Unfortunately, it seems they've shut down www.testdrive.hp.com, which > means there's no longer any easy access to HP systems on which one could > test a fix. If you want this fixed, you're going to have to do it > yourself, or find some other HPUX user who will fix it, or provide > access to an HPUX system to somebody who wants to fix it. > > regards, tom lane Hi Guys, You can usually get pre-built versions of Postgres for HP-UX here: http://hpux.connect.org.uk/hppd/cgi-bin/search?package=on&description=on&term=postgres&Search=Search Only 9.0 there at the moment, but they are usually not far behind the release date. Regards, Joe
> > > Derk Jan Horstman <dj.horstman@anva.nl> writes: > > > After a new install of HP-UX B.11.23 (ia64) and installing the latest patches on it, I've tried to compile PostgreSQL9.0.1 from source again. > > > But I've still got problems with compiling, the process is ending with the next errors: > > ip.c: In function 'pg_foreach_ifaddr': > > > ip.c:654: error: storage size of 'lifc' isn't known > > > ip.c:725: error: 'struct lifreq' has no member named 'lifr_addr' > > > ip.c:735: error: 'struct lifreq' has no member named 'lifr_addr' > > Hm. A bit of googling suggests that HPUX is randomly incompatible with > > the rest of the world concerning the output format of SIOCGLIFCONF > > (which is no great surprise). > > > > Unfortunately, it seems they've shut down www.testdrive.hp.com, which > > means there's no longer any easy access to HP systems on which one could > > test a fix. If you want this fixed, you're going to have to do it > > yourself, or find some other HPUX user who will fix it, or provide > > access to an HPUX system to somebody who wants to fix it. > > > > regards, tom lane > Hi Guys, > You can usually get pre-built versions of Postgres for HP-UX here: > http://hpux.connect.org.uk/hppd/cgi-bin/search?package=on&description=on&term=postgres&Search=Search > Only 9.0 there at the moment, but they are usually not far behind the release date. > > Regards, > Joe Hi Joe, Thanks for your hint. I have download the binary package en installed it successfully. A disadvantage with this package is the absence of the contrib and OpenSSL, but for now it's working fine. Thanks all for your help. Regards Derk Jan Horstman ***************************DISCLAIMER*********************************** Deze e-mail is uitsluitend bestemd voor de geadresseerde(n). Verstrekking aan en gebruik door anderen is niet toegestaan.ANVA bv sluit iedere aansprakelijkheid uit die voortvloeit uit electronische verzending. This e-mail is intended exclusively for the addressee(s), and may not be passed on to, or made available for use by any personother than the addressee(s). ANVA bv rules out any and every liability resulting from any electronic transmission. ******************************************************************************