Thread
-
6.4 BETA2 fails to compile on Digital Unix 4.0d
Pedro J. Lobo <pjlobo@euitt.upm.es> — 1998-10-29T11:30:43Z
Hi, all. I am testing 6.4 on a DU 4.0d system using DEC's (well, Compaq's) C compiler, gmake 3.75, bison 1.25 and flex 2.5.4, and I've found two problems. 1 - The old "configure --with-CC=cc" problem is still there: configure fails if you specify --with-CC=cc when it is going to test whether the C compiler needs the "-traditional" flag. I think I remember it was due to a bug in autoconf itself, so there isn't much to be done, except patch the configure script by hand before making the release. I can supply a patch, if needed. 2 - I get the following error when compiling: cc -I../../../include -I../../../backend -I/usr/local/include -DNOFIXADE -O4 -Olimit 2000 -I../.. -c istrat.c -o istrat.o cc: Error: istrat.c, line 495: In this statement, "F_OIDEQ" is not declared. F_OIDEQ, -----------------------------------------------------------^ cc: Error: istrat.c, line 561: In this statement, "F_OIDEQ" is not declared. F_OIDEQ, -----------------------------------------------------------^ cc: Error: istrat.c, line 604: In this statement, "F_OIDEQ" is not declared. F_OIDEQ, -----------------------------------------------------------^ cc: Error: istrat.c, line 642: In this statement, "F_OIDEQ" is not declared. F_OIDEQ, ---------------------------------------------------^ gmake[3]: *** [istrat.o] Error 1 gmake[3]: Leaving directory `/usr/local/pgsql.beta/src/pgsql/src/backend/access/ index' gmake[2]: *** [submake] Error 2 gmake[2]: Leaving directory `/usr/local/pgsql.beta/src/pgsql/src/backend/access' gmake[1]: *** [access.dir] Error 2 gmake[1]: Leaving directory `/usr/local/pgsql.beta/src/pgsql/src/backend' gmake: *** [all] Error 2 It bombs compiling backend/access/index/istrat.c. I have searched all the occurences of "F_OIDEQ" in all files (that is all files, not just .c or .h), and found it in the following ones: ./backend/access/index/istrat.c ./backend/catalog/heap.c ./backend/catalog/index.c ./backend/catalog/indexing.c ./backend/catalog/pg_operator.c ./backend/commands/remove.c ./backend/commands/trigger.c ./backend/commands/vacuum.c ./backend/executor/execUtils.c ./backend/optimizer/path/indxpath.c ./backend/optimizer/util/plancat.c ./backend/parser/parse_func.c ./backend/rewrite/rewriteRemove.c ./backend/utils/adt/selfuncs.c ./backend/utils/cache/catcache.c ./backend/utils/cache/relcache.c As you can see, F_OIDEQ isn't defined in any header file nor in any other kind of config file. I've also searched in /usr/include/... and /usr/local/include..., just in case. Any hints? P.S.: I've also noticed that there is a "F_OID8EQ" that's found only in backend/catalog/indexing.c and backend/utils/cache/catcache.c. ------------------------------------------------------------------- Pedro José Lobo Perea Tel: +34 91 336 78 19 Centro de Cálculo Fax: +34 91 331 92 29 EUIT Telecomunicación - UPM e-mail: pjlobo@euitt.upm.es -
Re: [HACKERS] 6.4 BETA2 fails to compile on Digital Unix 4.0d
Thomas Lockhart <lockhart@alumni.caltech.edu> — 1998-10-29T14:35:30Z
> I am testing 6.4 on a DU 4.0d system using DEC's (well, Compaq's) C > compiler, gmake 3.75, bison 1.25 and flex 2.5.4, and I've found two > problems. > Any hints? I'm guessing that you have a problem with having your "cpp" preprocessor pick up input from a pipe (stdin). Just yesterday Tom Lane fixed that by no longer requiring cpp or equivalent to do that. Can you look at your configure results and verify that the conclusions it reaches about CPP and CPPSTDIN are correct? The two scripts which use it are src/backend/utils/Gen_fmgrtab.sh and src/backend/catalog/genbki.sh. Go to src/backend/utils and type "make" and see if files are made as you would expect. If there is a problem, then perhaps Tom can send you new versions, or you can hand-modify them yourself, or you can wait for a new beta. In Gen_fmgrtab.sh.in the new code looks like: 42a43 > CPPTMPFILE=fmgrtmp.c 65,66c66,68 < $4 == "11" { print; next; }' | \ < @CPP@ @CPPSTDIN@ $BKIOPTS | \ --- > $4 == "11" { print; next; }' > $CPPTMPFILE > > @CPP@ $BKIOPTS $CPPTMPFILE | \ 69a72,73 > rm -f $CPPTMPFILE to have cpp read from file fmgrtmp.c rather than from stdin. - Tom -
Re: [HACKERS] 6.4 BETA2 fails to compile on Digital Unix 4.0d
Pedro J. Lobo <pjlobo@euitt.upm.es> — 1998-10-29T16:40:58Z
On Thu, 29 Oct 1998, Thomas G. Lockhart wrote: >> I am testing 6.4 on a DU 4.0d system using DEC's (well, Compaq's) C >> compiler, gmake 3.75, bison 1.25 and flex 2.5.4, and I've found two >> problems. >> Any hints? > >I'm guessing that you have a problem with having your "cpp" preprocessor >pick up input from a pipe (stdin). Just yesterday Tom Lane fixed that by >no longer requiring cpp or equivalent to do that. Can you look at your >configure results and verify that the conclusions it reaches about CPP >and CPPSTDIN are correct? It seems that you won the prize :-) I have patched Gen_fmgrtab.sh.in and genbki.sh.in and executed configure again, and now it is compiling fine. One "minor" problem is that I am getting many warnings complaining that MAP_FILE is being redefined. Indeed, it is defined in /usr/include/sys/mman.h (a system header file) for being used with mmap and friends, and is redefined in include/libpq/hba.h. Since hba.h is parsed after mmap.h and the preprocessor uses the last value seen everything is allright, but I think that MAP_FILE should be renamed to something like PG_MAP_FILE. Maybe it can wait for 6.4.1 or 6.5, but it should be done. I'll post a complete report if/when the build ends and (hopefully) the regression tests are completed. ------------------------------------------------------------------- Pedro José Lobo Perea Tel: +34 91 336 78 19 Centro de Cálculo Fax: +34 91 331 92 29 EUIT Telecomunicación - UPM e-mail: pjlobo@euitt.upm.es