Thread: Bug #612: PostgreSQL 7.2 does not build according to documentation under IRIX w/ MIPSpro
Bug #612: PostgreSQL 7.2 does not build according to documentation under IRIX w/ MIPSpro
From
pgsql-bugs@postgresql.org
Date:
Jonathan C. Patschke (jp@celestrion.net) reports a bug with a severity of 1 The lower the number the more severe it is. Short Description PostgreSQL 7.2 does not build according to documentation under IRIX w/ MIPSpro Long Description Ignore my submission about sh-vs-bash in configure. Configure is still broken (doesn't set HAVE_SNPRINTF_DECL properly),and the resulting tree still doesn't build under IRIX with MIPSpro ($CC accidentally got reset to gcc between tries). Should any of the developers desire an IRIX build-box, email me, and I'll see what I can do to make my system available. Here's my environment: [jp@firehawk:/usr/src/postgresql-7.2]$ echo $BASH_VERSION -- $CC -- $CXX 2.05.0(1)-release -- /usr/bin/cc -- /usr/bin/CC [jp@firehawk:/usr/src/postgresql-7.2]$ cc -version MIPSpro Compilers: Version 7.3.1.2m [jp@firehawk:/usr/src/postgresql-7.2]$ CC -version MIPSpro Compilers: Version 7.3.1.2m [jp@firehawk:/usr/src/postgresql-7.2]$ gmake --version GNU Make version 3.79.1, by Richard Stallman and Roland McGrath. Built for mips-sgi-irix6.5 Here is the output of a configure + build run on a virgin source tree: [jp@firehawk:/usr/src/postgresql-7.2]$ bash configure --prefix=/usr/db/postgres --with-includes=/usr/freeware/include --with-libs=/usr/freeware/lib--with-tcl --with-tclconfig=/usr/freeware/lib --with-tkconfig=/usr/freeware/lib --with-perl--with-openssl=/usr/freeware/ssl --enable-syslog > build.out 2>&1 ; gmake >> build.out 2>&1 creating cache ./config.cache checking host system type... mips-sgi-irix6.5 checking which template to use... irix5 checking whether to build with locale support... no checking whether to build with recode support... no checking whether to build with multibyte character support... no checking whether NLS is wanted... no checking for default port number... 5432 checking for default soft limit on number of connections... 32 checking for gcc... /usr/bin/cc checking whether the C compiler (/usr/bin/cc -O3 -I/usr/freeware/include -L/usr/freeware/lib32 -L/usr/lib32) works... yes checking whether the C compiler (/usr/bin/cc -O3 -I/usr/freeware/include -L/usr/freeware/lib32 -L/usr/lib32) is a cross-compiler...no checking whether we are using GNU C... no checking whether /usr/bin/cc accepts -g... yes using CFLAGS=-O3 -I/usr/freeware/include checking whether the C compiler (/usr/bin/cc -O3 -I/usr/freeware/include -L/usr/freeware/lib32 -L/usr/lib32) works... yes checking whether the C compiler (/usr/bin/cc -O3 -I/usr/freeware/include -L/usr/freeware/lib32 -L/usr/lib32) is a cross-compiler...no checking for Cygwin environment... no checking for mingw32 environment... no checking for executable suffix... no checking how to run the C preprocessor... /lib/cpp checking whether to build with Tcl... yes checking whether to build with Tk... yes checking whether to build Perl modules... yes checking whether to build Python modules... no checking whether to build Java/JDBC tools... no checking whether to build with PAM support... no building with OpenSSL support checking whether to build the ODBC driver... no checking whether to build C++ modules... no using CPPFLAGS= -I/usr/freeware/include using LDFLAGS=-L/usr/freeware/lib32 -L/usr/lib32 -L/usr/freeware/lib -L/usr/freeware/ssl/lib checking for mawk... no checking for gawk... gawk checking for flex... /usr/freeware/bin/flex checking whether ln -s works... yes checking for non-GNU ld... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... no checking for ranlib... ranlib checking for lorder... no checking for tar... /usr/freeware/bin/tar checking for bison... bison -y checking for wish... /usr/freeware/bin/wish checking for perl... /usr/freeware/bin/perl checking Perl installation directories... done checking for readline... yes (-lreadline -ltermcap) checking for library containing using_history... none required checking for main in -lbsd... yes checking for setproctitle in -lutil... no checking for main in -lm... yes checking for main in -ldl... yes checking for main in -lsocket... yes checking for main in -lnsl... yes checking for main in -lipc... no checking for main in -lIPC... no checking for main in -llc... no checking for main in -ldld... no checking for main in -lld... no checking for main in -lcompat... no checking for main in -lBSD... no checking for main in -lgen... yes checking for main in -lPW... yes checking for main in -lresolv... no checking for main in -lunix... no checking for library containing crypt... none required checking for __inet_ntoa in -lbind... no checking for inflate in -lz... yes checking for library containing fdatasync... none required checking for CRYPTO_new_ex_data in -lcrypto... yes checking for SSL_library_init in -lssl... yes checking for crypt.h... yes checking for dld.h... no checking for endian.h... no checking for fp_class.h... yes checking for getopt.h... yes checking for ieeefp.h... yes checking for pwd.h... yes checking for sys/ipc.h... yes checking for sys/pstat.h... no checking for sys/select.h... yes checking for sys/sem.h... yes checking for sys/socket.h... no checking for sys/shm.h... yes checking for sys/types.h... yes checking for sys/un.h... yes checking for termios.h... yes checking for kernel/OS.h... no checking for kernel/image.h... no checking for SupportDefs.h... no checking for netinet/in.h... yes checking for netinet/tcp.h... yes checking whether string.h and strings.h may both be included... yes checking for readline/readline.h... yes checking for readline/history.h... yes checking for openssl/ssl.h... yes checking for openssl/err.h... yes checking for working const... yes checking for inline... __inline checking for preprocessor stringizing operator... no checking for signed types... yes checking for volatile... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for tm_zone in struct tm... no checking for tzname... yes checking for union semun... yes checking for struct cmsgcred... no checking for struct fcred... no checking for struct sockcred... no checking for struct sockaddr_un... yes checking for int timezone... yes checking types of arguments for accept()... int, struct sockaddr *, int * checking whether gettimeofday takes only one argument... no checking for 8-bit clean memcmp... yes checking for fcvt... yes checking for getopt_long... no checking for memmove... yes checking for pstat... no checking for setproctitle... no checking for setsid... yes checking for sigprocmask... yes checking for sysconf... yes checking for waitpid... yes checking for dlopen... yes checking for fdatasync... yes checking for PS_STRINGS... no checking for snprintf... yes checking for vsnprintf... yes checking for isinf... no checking for fpclass... yes checking for getrusage... yes checking for srandom... yes checking for gethostname... yes checking for random... yes checking for inet_aton... yes checking for strerror... yes checking for strdup... yes checking for strtol... yes checking for strtoul... yes checking for strcasecmp... yes checking for cbrt... yes checking for rint... yes checking for rl_completion_append_character... yes checking for rl_completion_matches... yes checking for rl_filename_completion_function... yes checking for finite... yes checking for sigsetjmp... yes checking for syslog... yes checking for optreset... no checking test program... ok checking whether long int is 64 bits... no checking whether long long int is 64 bits... yes checking whether snprintf handles 'long long int' as %lld... yes checking for strtoll... yes checking for strtoull... yes checking for atexit... yes checking size of unsigned long... 4 checking alignment of short... 2 checking alignment of int... 4 checking alignment of long... 4 checking alignment of long long int... 8 checking alignment of double... 8 checking for int8... no checking for uint8... no checking for int64... no checking for uint64... no checking for sig_atomic_t... yes checking for POSIX signal interface... yes checking for tclsh... /usr/freeware/bin/tclsh checking for tclConfig.sh... /usr/freeware/lib/tclConfig.sh checking for tkConfig.sh... /usr/freeware/lib/tkConfig.sh checking for onsgmls... no checking for nsgmls... no updating cache ./config.cache creating ./config.status creating GNUmakefile creating src/GNUmakefile creating src/Makefile.global creating src/backend/port/Makefile creating src/include/pg_config.h linking ./src/backend/port/dynloader/irix5.c to src/backend/port/dynloader.c linking ./src/backend/port/dynloader/irix5.h to src/include/dynloader.h linking ./src/include/port/irix5.h to src/include/pg_config_os.h linking ./src/makefiles/Makefile.irix5 to src/Makefile.port linking ./src/backend/port/tas/dummy.s to src/backend/port/tas.s gmake -C doc all gmake[1]: Entering directory `/usr/src/postgresql-7.2/doc' gzip -d -c man.tar.gz | /usr/freeware/bin/tar xf - for file in man1/*.1; do \ mv $file $file.bak && \ sed -e 's/\\fR(l)/\\fR(5)/' $file.bak >$file && \ rm $file.bak || exit; \ done /bin/sh ../config/mkinstalldirs man5 mkdir man5 for file in manl/*.l; do \ sed -e '/^\.TH/s/"l"/"5sql"/' \ -e 's/\\fR(l)/\\fR(5)/' \ $file >man5/`basename $file | sed 's/.l$/.5sql/'` || exit; \ done gmake[1]: Leaving directory `/usr/src/postgresql-7.2/doc' gmake -C src all gmake[1]: Entering directory `/usr/src/postgresql-7.2/src' gmake -C backend all gmake[2]: Entering directory `/usr/src/postgresql-7.2/src/backend' prereqdir=`cd parser/ >/dev/null && pwd` && \ cd ../../src/include/parser/ && rm -f parse.h && \ ln -s "$prereqdir/parse.h" . gmake -C utils fmgroids.h gmake[3]: Entering directory `/usr/src/postgresql-7.2/src/backend/utils' CPP='/lib/cpp' AWK='gawk' /bin/sh Gen_fmgrtab.sh ../../../src/include/catalog/pg_proc.h gmake[3]: Leaving directory `/usr/src/postgresql-7.2/src/backend/utils' cd ../../src/include/utils/ && rm -f fmgroids.h && \ ln -s ../../../src/backend/utils/fmgroids.h . gmake -C access all gmake[3]: Entering directory `/usr/src/postgresql-7.2/src/backend/access' gmake -C common SUBSYS.o gmake[4]: Entering directory `/usr/src/postgresql-7.2/src/backend/access/common' /usr/bin/cc -O3 -I/usr/freeware/include -woff 1164,1171,1185,1195,1552 -I../../../../src/include -I/usr/freeware/include-U_NO_XOPEN4 -c -o heaptuple.o heaptuple.c cc-1143 cc: ERROR File = ../../../../src/include/c.h, Line = 631 Declaration is incompatible with "int snprintf(char *, ssize_t, const char *, ...)" (declared at line 235 of "/usr/include/stdio.h"). snprintf(char *str, size_t count, const char *fmt,...) ^ cc-1143 cc: ERROR File = ../../../../src/include/c.h, Line = 637 Declaration is incompatible with "int vsnprintf(char *, ssize_t, const char *, char *)" (declared at line 244 of "/usr/include/stdio.h"). extern int vsnprintf(char *str, size_t count, const char *fmt, va_list args); ^ cc-1065 cc: ERROR File = ../../../../src/include/catalog/pg_attribute.h, Line = 43 A semicolon is expected at this point. { ^ cc-1012 cc: WARNING File = ../../../../src/include/catalog/pg_attribute.h, Line = 69 Parsing restarts here after previous syntax error. int2 attlen; ^ cc-1166 cc: ERROR File = ../../../../src/include/catalog/pg_attribute.h, Line = 145 Expected a declaration. } FormData_pg_attribute; ^ cc-1020 cc: ERROR File = ../../../../src/include/catalog/pg_attribute.h, Line = 160 The identifier "FormData_pg_attribute" is undefined. typedef FormData_pg_attribute *Form_pg_attribute; ^ cc-1065 cc: ERROR File = ../../../../src/include/catalog/pg_am.h, Line = 38 A semicolon is expected at this point. { ^ cc-1012 cc: WARNING File = ../../../../src/include/catalog/pg_am.h, Line = 59 Parsing restarts here after previous syntax error. regproc ambuild; /* "build new index" function */ ^ cc-1166 cc: ERROR File = ../../../../src/include/catalog/pg_am.h, Line = 62 Expected a declaration. } FormData_pg_am; ^ cc-1020 cc: ERROR File = ../../../../src/include/catalog/pg_am.h, Line = 69 The identifier "FormData_pg_am" is undefined. typedef FormData_pg_am *Form_pg_am; ^ cc-1065 cc: ERROR File = ../../../../src/include/catalog/pg_class.h, Line = 44 A semicolon is expected at this point. { ^ cc-1012 cc: WARNING File = ../../../../src/include/catalog/pg_class.h, Line = 65 Parsing restarts here after previous syntax error. int2 reltriggers; /* # of TRIGGERs */ ^ cc-1166 cc: ERROR File = ../../../../src/include/catalog/pg_class.h, Line = 78 Expected a declaration. } FormData_pg_class; ^ cc-1020 cc: ERROR File = ../../../../src/include/catalog/pg_class.h, Line = 89 The identifier "FormData_pg_class" is undefined. typedef FormData_pg_class *Form_pg_class; ^ cc-1065 cc: ERROR File = ../../../../src/include/catalog/pg_type.h, Line = 40 A semicolon is expected at this point. { ^ cc-1012 cc: WARNING File = ../../../../src/include/catalog/pg_type.h, Line = 66 Parsing restarts here after previous syntax error. bool typbyval; ^ cc-1166 cc: ERROR File = ../../../../src/include/catalog/pg_type.h, Line = 150 Expected a declaration. } FormData_pg_type; ^ cc-1020 cc: ERROR File = ../../../../src/include/catalog/pg_type.h, Line = 157 The identifier "FormData_pg_type" is undefined. typedef FormData_pg_type *Form_pg_type; ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 51 Expression must have pointer-to-struct or pointer-to-union type. data_length = att_align(data_length, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 51 Expression must have pointer-to-struct or pointer-to-union type. data_length = att_align(data_length, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 51 Expression must have pointer-to-struct or pointer-to-union type. data_length = att_align(data_length, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 52 Expression must have pointer-to-struct or pointer-to-union type. data_length = att_addlength(data_length, att[i]->attlen, value[i]); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 52 Expression must have pointer-to-struct or pointer-to-union type. data_length = att_addlength(data_length, att[i]->attlen, value[i]); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 108 Expression must have pointer-to-struct or pointer-to-union type. data = (char *) att_align((long) data, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 108 Expression must have pointer-to-struct or pointer-to-union type. data = (char *) att_align((long) data, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 108 Expression must have pointer-to-struct or pointer-to-union type. data = (char *) att_align((long) data, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 110 Expression must have pointer-to-struct or pointer-to-union type. if (att[i]->attbyval) ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 113 Expression must have pointer-to-struct or pointer-to-union type. store_att_byval(data, value[i], att[i]->attlen); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 113 Expression must have pointer-to-struct or pointer-to-union type. store_att_byval(data, value[i], att[i]->attlen); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 115 Expression must have pointer-to-struct or pointer-to-union type. else if (att[i]->attlen == -1) ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 131 Expression must have pointer-to-struct or pointer-to-union type. (size_t) (att[i]->attlen)); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 134 Expression must have pointer-to-struct or pointer-to-union type. data = (char *) att_addlength((long) data, att[i]->attlen, value[i]); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 134 Expression must have pointer-to-struct or pointer-to-union type. data = (char *) att_addlength((long) data, att[i]->attlen, value[i]); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 296 Expression must have pointer-to-struct or pointer-to-union type. if (att[attnum]->attcacheoff != -1) ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 298 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 298 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 298 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 298 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 298 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 298 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 298 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 311 Expression must have pointer-to-struct or pointer-to-union type. if (att[j]->attlen <= 0) ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 335 Expression must have pointer-to-struct or pointer-to-union type. att[0]->attcacheoff = 0; ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 337 Expression must have pointer-to-struct or pointer-to-union type. while (j < attnum && att[j]->attcacheoff > 0) ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 340 Expression must have pointer-to-struct or pointer-to-union type. off = att[j - 1]->attcacheoff + att[j - 1]->attlen; ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 340 Expression must have pointer-to-struct or pointer-to-union type. off = att[j - 1]->attcacheoff + att[j - 1]->attlen; ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 345 Expression must have pointer-to-struct or pointer-to-union type. att[j]->attcacheoff == -1 && ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 347 Expression must have pointer-to-struct or pointer-to-union type. (HeapTupleAllFixed(tuple) || att[j]->attlen > 0)); j++) ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 353 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[j]->attlen, att[j]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 353 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[j]->attlen, att[j]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 353 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[j]->attlen, att[j]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 355 Expression must have pointer-to-struct or pointer-to-union type. att[j]->attcacheoff = off; ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 357 Expression must have pointer-to-struct or pointer-to-union type. off = att_addlength(off, att[j]->attlen, tp + off); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 357 Expression must have pointer-to-struct or pointer-to-union type. off = att_addlength(off, att[j]->attlen, tp + off); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 360 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + att[attnum]->attcacheoff); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 360 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + att[attnum]->attcacheoff); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 360 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + att[attnum]->attcacheoff); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 360 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + att[attnum]->attcacheoff); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 360 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + att[attnum]->attcacheoff); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 360 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + att[attnum]->attcacheoff); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 360 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + att[attnum]->attcacheoff); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 390 Expression must have pointer-to-struct or pointer-to-union type. if (usecache && att[i]->attcacheoff != -1) ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 391 Expression must have pointer-to-struct or pointer-to-union type. off = att[i]->attcacheoff; ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 394 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 394 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 394 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[i]->attlen, att[i]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 397 Expression must have pointer-to-struct or pointer-to-union type. att[i]->attcacheoff = off; ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 400 Expression must have pointer-to-struct or pointer-to-union type. off = att_addlength(off, att[i]->attlen, tp + off); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 400 Expression must have pointer-to-struct or pointer-to-union type. off = att_addlength(off, att[i]->attlen, tp + off); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 402 Expression must have pointer-to-struct or pointer-to-union type. if (usecache && att[i]->attlen == -1) ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 406 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[attnum]->attlen, att[attnum]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 406 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[attnum]->attlen, att[attnum]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 406 Expression must have pointer-to-struct or pointer-to-union type. off = att_align(off, att[attnum]->attlen, att[attnum]->attalign); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 408 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + off); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 408 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + off); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 408 Expression must have pointer-to-struct or pointer-to-union type. return fetchatt(att[attnum], tp + off); ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 661 Expression must have pointer-to-struct or pointer-to-union type. numberOfAttributes = RelationGetForm(relation)->relnatts; ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 677 Expression must have pointer-to-struct or pointer-to-union type. value[attoff] = heap_getattr(tuple, ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 677 Expression must have pointer-to-struct or pointer-to-union type. value[attoff] = heap_getattr(tuple, ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 677 Expression must have pointer-to-struct or pointer-to-union type. value[attoff] = heap_getattr(tuple, ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 677 Expression must have pointer-to-struct or pointer-to-union type. value[attoff] = heap_getattr(tuple, ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 677 Expression must have pointer-to-struct or pointer-to-union type. value[attoff] = heap_getattr(tuple, ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 677 Expression must have pointer-to-struct or pointer-to-union type. value[attoff] = heap_getattr(tuple, ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 677 Expression must have pointer-to-struct or pointer-to-union type. value[attoff] = heap_getattr(tuple, ^ cc-1130 cc: ERROR File = heaptuple.c, Line = 677 Expression must have pointer-to-struct or pointer-to-union type. value[attoff] = heap_getattr(tuple, ^ 81 errors detected in the compilation of "heaptuple.c". gmake[4]: *** [heaptuple.o] Error 2 gmake[4]: Leaving directory `/usr/src/postgresql-7.2/src/backend/access/common' gmake[3]: *** [common-recursive] Error 2 gmake[3]: Leaving directory `/usr/src/postgresql-7.2/src/backend/access' gmake[2]: *** [access-recursive] Error 2 gmake[2]: Leaving directory `/usr/src/postgresql-7.2/src/backend' gmake[1]: *** [all] Error 2 gmake[1]: Leaving directory `/usr/src/postgresql-7.2/src' gmake: *** [all] Error 2 Sample Code No file was uploaded with this report
Re: Bug #612: PostgreSQL 7.2 does not build according to documentation under IRIX w/ MIPSpro
From
Tom Lane
Date:
pgsql-bugs@postgresql.org writes: > Ignore my submission about sh-vs-bash in configure. Configure is still broken (doesn't set HAVE_SNPRINTF_DECL properly),and the resulting tree still doesn't build under IRIX with MIPSpro ($CC accidentally got reset to gcc between tries). A lot of this looks like problems with configure using the wrong cpp to do C preprocessor tests. In particular the syntax errors in the include/catalog files suggest that configure's conclusion that you have pre-ANSI preprocessing: > checking for preprocessor stringizing operator... no is wrong. I see > checking how to run the C preprocessor... /lib/cpp and I wonder whether /lib/cpp is actually equivalent to /usr/bin/cc's preprocessing. Does /usr/bin/cc accept a -E switch? If so, why didn't configure use that? (Do you maybe have CPP=/lib/cpp in your environment?) Also, where did configure come by all these switches for cc: > checking whether the C compiler (/usr/bin/cc -O3 -I/usr/freeware/include -L/usr/freeware/lib32 -L/usr/lib32) works... yes Bottom line is that I suspect configure is being misled by some of your environment settings. But another possibility is that src/makefiles/Makefile.irix5 is doing something inappropriate. In particular I wonder why it has override CPPFLAGS += -U_NO_XOPEN4 Is this (still) appropriate for IRIX? If so, perhaps it needs to be done in src/template/irix5 instead (so that configure will see it)? regards, tom lane
> Ignore my submission about sh-vs-bash in configure. Configure is > still broken (doesn't set HAVE_SNPRINTF_DECL properly), and the > resulting tree still doesn't build under IRIX with MIPSpro ($CC > accidentally got reset to gcc between tries). Shows us the config.log file. -- Peter Eisentraut peter_e@gmx.net
> A lot of this looks like problems with configure using the wrong cpp > to do C preprocessor tests. In particular the syntax errors in the I tried setting it manually and that fixed it. I couldn't get configure to work using either method of getting at MIPSpro's preprocessor (/lib/cpp and /usr/bin/cc -E should both work). So, I told it to use GCC's preprocessor, and all was well. > and I wonder whether /lib/cpp is actually equivalent to /usr/bin/cc's > preprocessing. Does /usr/bin/cc accept a -E switch? If so, why didn't > configure use that? (Do you maybe have CPP=/lib/cpp in your > environment?) /lib/cpp is the proper preprocessor for MIPSpro. However, it just didn't seem to generate things properly. For example, it absolutely failed to generate the table mapping function-names to IDs. > > checking whether the C compiler (/usr/bin/cc -O3 -I/usr/freeware/include -L/usr/freeware/lib32 -L/usr/lib32) works... yes That's in my environment. It saves me from having to include them every time, as all the vendor-supplied stuff is in /usr, and all the GNU and otherwise-freeware is in /usr/freeware. It's an IRIX convention. > Bottom line is that I suspect configure is being misled by some of > your environment settings. But another possibility is that > src/makefiles/Makefile.irix5 is doing something inappropriate. > In particular I wonder why it has > override CPPFLAGS += -U_NO_XOPEN4 > Is this (still) appropriate for IRIX? If so, perhaps it needs to be > done in src/template/irix5 instead (so that configure will see it)? I don't -think- it's still appropriate, but I don't know. Thanks to Robert E. Bruccoleri, I got it working. I made a few modifications to the script he gave me. Here's mine: #!/bin/ksh -x rm -f config.cache config.status export SGI_ABI=-n32 export CC=/usr/bin/cc export CXX=/usr/bin/CC cat >config.cache <<EOF ac_cv_lib_nsl_main=${ac_cv_lib_nsl_main='no'} ac_cv_prog_CPP=${ac_cv_prog_CPP='/usr/freeware/bin/gcc -E'} ac_cv_prog_gcc=${ac_cv_prog_gcc=no} ac_cv_prog_perl=${ac_cv_prog_perl=/usr/freeware/bin/perl} EOF gmake clean CC="cc -n32" \ AWK=/usr/freeware/bin/gawk \ INSTALL=/usr/src/postgresql-7.2/config/install-sh \ LDFLAGS="-rpath /usr/freeware/lib" \ ./configure --prefix=/usr/db/postgres \ --enable-hba \ --with-pgport=5432 \ --disable-locale \ --enable-cassert \ --with-template=irix5 \ --with-includes="/usr/freeware/include /usr/freeware/include/readline" \ --with-libs=/usr/freeware/lib \ --without-CXX \ --with-maxbackends=128 \ --enable-debug \ --enable-syslog \ --with-tcl \ --with-tclconfig=/usr/freeware/lib \ --with-tkconfig=/usr/freeware/lib \ --with-openssl=/usr/freeware/ssl \ # --with-perl \ --without-java \ --enable-odbc gmake gmake check The PERL stuff is disabled because I got an odd linker error ("device not found" or somesuch) that I couldn't fix while linking to libperl.so. I couldn't find any documentation on when the linker might throw that error, so I gave up. There's one warning that really bothered me, though. I don't know the code well-enough to make this call, but I almost have to agree with the compiler: cc-1184 cc: WARNING File = dynahash.c, Line = 545 "=" is used where where "==" may have been intended. Assert(currBucket && !(saveState.currBucket = NULL)); But, like I said, I don't understand the internals of the code well enough to make that call. I just thought I'd bring it up in case it was causing somebody grief. Anyway, PostgreSQL compiles/works now, and I thank you guys so much for being so helpful and for producing such a wonderful product. --Jonathan