Thread

  1. HPUX 10.01 build issues and solutions.

    Michael J Schout <mschout@gkg.net> — 1998-10-30T20:01:35Z

    Hi.
    
    I just built postgresql 6.4 beta 4 on HPUX  10.01.  This was not a clean compile
    +, 
    and I had to make minor  modifications to get it to compile.  First of all,
    hpux 10.01 does not define SA_RESTART at all (10.20 does, but 10.01 does not).  
    +
    To compile under 10.01, you cant define USE_POSIX_SIGNALS in os.h  I fixed this
    +
    by just deleting these lines from os.h:
    
    #ifdef HPUX_10
    #define USE_POSIX_SIGNALS
    #endif
    
    Secondly, lex on hpux 10.01 has problems as well.  I got the following errors 
    due to lex on 10.01:
    
    make -C lib all
    make[3]: Entering directory `/home/schout/pgsql/src/interfaces/ecpg/lib'
    make[3]: Nothing to be done for `all'.
    make[3]: Leaving directory `/home/schout/pgsql/src/interfaces/ecpg/lib'
    make -C preproc all
    make[3]: Entering directory `/home/schout/pgsql/src/interfaces/ecpg/preproc'
    lex pgc.l
    "pgc.l" line 333: warning 45: Non-portable Character Class
    "pgc.l" line 333: warning 45: Non-portable Character Class
    "pgc.l" line 471: warning 45: Non-portable Character Class
    "pgc.l" line 471: warning 45: Non-portable Character Class
    "pgc.l" line 471: warning 45: Non-portable Character Class
    "pgc.l" line 471: warning 45: Non-portable Character Class
    "pgc.l" line 475: warning 45: Non-portable Character Class
    "pgc.l" line 475: warning 45: Non-portable Character Class
    "pgc.l" line 536: warning 45: Non-portable Character Class
    "pgc.l" line 536: warning 45: Non-portable Character Class
    "pgc.l" line 585: warning 45: Non-portable Character Class
    "pgc.l" line 585: warning 45: Non-portable Character Class
    "pgc.l" line 674: warning 48: Undefined start condition <EOF
    "pgc.l" line 708: error 14: Too many transitions, Try using %a num
    671/1000 nodes(%e), 1482/2500 positions(%p), 168/500 (%n), 14470 transitions, 89
    +5/1000 packed char classes(%k), 2000/2000 packed transitions(%a), 0/0 output sl
    +ots(%o)
    make[3]: *** [pgc.c] Error 1
    make[3]: Leaving directory `/home/schout/pgsql/src/interfaces/ecpg/preproc'
    make[2]: *** [all] Error 2
    make[2]: Leaving directory `/home/schout/pgsql/src/interfaces/ecpg'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/schout/pgsql/src/interfaces'
    make: *** [all] Error 2
    
    
    
    I got around this problem by installing flex-2.5.4a from prep.ai.mit.edu, and
    sym linking /usr/bin/lex to /opt/gnu/bin/flex (where I installed flex).
    
    After that, everything pretty much went smoothly.  I did have to manually commen
    +t
    out the rules to build libpq++ because apparently ecgs wont let you specify the
    +
    "-c" and "-o" flags together, but that is not a big deal to me since I dont 
    +intend
    to use the libpq++ interface on this machine anyways.  It would be nice if there
    + 
    was a --disable-libpq++ rule for configure that would allow you to specify that 
    +
    you did not want to use it.  And possibly something similar like 
    --with-flex=/opt/gnu/bin/flex to override the choice of /usr/bin/flex (maybe the
    +se
    already exist??).
    
    Anyways, Some food for thought.  Im sure its too late to address these for the 
    +
    upcoming 6.4 release, but maybe for the next minor release ;)
    
    Mike