Thread

  1. 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
    
    
    
  2. 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
    
    
  3. 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