HP-UX port - Mailing list pgsql-ports

From Michael J Schout
Subject HP-UX port
Date
Msg-id 199907281748.MAA20525@mail.gkg-com.com
Whole thread Raw
List pgsql-ports
Hi everyone.

I work at the High Performance Systems division of Hewlett Packard, and
have been asked to evaluate postgresql for possible use in one of our
internal tools (software life cycle related).

I have encountered the following issues so far:

problems with configure:
    I have tried building on both HP K-Class and multi-node V-Class (2 node
    V2200 => 2 16 CPU boxes wired together to make 1 32 CPU machine).
    Unfortunately, configure does not recognize the uname output from these
    machines.
        # uname -a
        HP-UX v-a B.11.10 A 9000/800 71301 two-user license
    (yes its an unreleased OS.. I realize that :))

    I changed in configure.guess the following:
    # diff config.guess.orig config.guess
    371c371
    <           9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] |
    9000/892 )
    ---
    >           9000/6?? | 9000/7?? | 9000/80[024] | 9000/8?[13679] |
    >           9000/892 )

    ANd that results in configure at least getting far enough so that it
    tells me that it needs a template.  I configured it with:
    ./configure --with-template=hpux_cc --with-CXX=aCC --with-perl

    Then ran gmake.

Next problem: lex appears to be broken on HPUX 11.10.  I got all sorts
    of errors when it runs "lex scan.l".  So I grabbed flex-2.5.4a and
    installed that.  This got past the scan.l part, but still spits out all
    sorts of errors on pl_gram.c:
    # gmake
    flex -i -l scan.l
    sed -e 's/yy/plpgsql_yy/g' -e 's/YY/PLPGSQL_YY/g' <lex.yy.c >pl_scan.c
    rm -f lex.yy.c
    cc -I../../../include -I../../../backend   -Wl,-E -Ae
    -I../../../interfaces/libpq -I../../../include -I../../../backend +z -c
    -o pl_parse.o pl_gram.c
    cc: "scan.l", line 85: error 1588: "K_ASSIGN" undefined.
    cc: "scan.l", line 86: error 1588: "K_ASSIGN" undefined.
    cc: "scan.l", line 87: error 1588: "K_DOTDOT" undefined.
    cc: "scan.l", line 88: error 1588: "K_ALIAS" undefined.
    cc: "scan.l", line 89: error 1588: "K_BEGIN" undefined.
    cc: "scan.l", line 90: error 1588: "T_BPCHAR" undefined.
    cc: "scan.l", line 91: error 1588: "T_CHAR" undefined.
    cc: "scan.l", line 92: error 1588: "K_CONSTANT" undefined.
    cc: "scan.l", line 93: error 1588: "K_DEBUG" undefined.
    cc: "scan.l", line 94: error 1588: "K_DECLARE" undefined.
    cc: "scan.l", line 95: error 1588: "K_DEFAULT" undefined.
    cc: "scan.l", line 96: error 1588: "K_ELSE" undefined.
    cc: "scan.l", line 97: error 1588: "K_END" undefined.
    cc: "scan.l", line 98: error 1588: "K_EXCEPTION" undefined.
    cc: "scan.l", line 99: error 1588: "K_EXIT" undefined.
    cc: "scan.l", line 100: error 1588: "K_FOR" undefined.
    cc: "scan.l", line 101: error 1588: "K_FROM" undefined.
    cc: "scan.l", line 102: error 1588: "K_IF" undefined.
    cc: "scan.l", line 103: error 1588: "K_IN" undefined.
    cc: "scan.l", line 104: error 1588: "K_INTO" undefined.
    cc: "scan.l", line 105: error 1588: "K_LOOP" undefined.
    cc: "scan.l", line 106: error 1588: "K_NOT" undefined.
    cc: "scan.l", line 107: error 1588: "K_NOTICE" undefined.
    cc: "scan.l", line 108: error 1588: "K_NULL" undefined.
    cc: "scan.l", line 109: error 1588: "K_PERFORM" undefined.
    cc: "scan.l", line 110: error 1588: "K_RAISE" undefined.
    cc: "scan.l", line 111: error 1588: "K_RECORD" undefined.
    cc: "scan.l", line 112: error 1588: "K_RENAME" undefined.
    cc: "scan.l", line 113: error 1588: "K_RETURN" undefined.
    cc: "scan.l", line 114: error 1588: "K_REVERSE" undefined.
    cc: "scan.l", line 115: error 1588: "K_SELECT" undefined.
    cc: "scan.l", line 116: error 1588: "K_THEN" undefined.
    cc: "scan.l", line 117: error 1588: "K_TO" undefined.
    cc: "scan.l", line 118: error 1588: "K_TYPE" undefined.
    cc: "scan.l", line 119: error 1588: "T_VARCHAR" undefined.
    cc: "scan.l", line 120: error 1588: "K_WHEN" undefined.
    cc: "scan.l", line 121: error 1588: "K_WHILE" undefined.
    cc: "scan.l", line 123: error 1588: "O_OPTION" undefined.
    cc: "scan.l", line 124: error 1588: "O_DUMP" undefined.
    cc: "scan.l", line 139: error 1588: "T_NUMBER" undefined.
    cc: "scan.l", line 174: error 1588: "T_STRING" undefined.
    gmake: *** [pl_parse.o] Error 1

    After looking at pl_gram.c, it includes pl_scan.c near the top of the
    file, but all of the items that are listed above as being undefined
    come later in the file.  I moved the #include "pl_sca.c" line down
    below all the #defines, and everything builds correctly.  I dont know a
    lot about lex/yacc, so I am not sure if this is a flex issue, or if
    there is something else at work here.

Next problem: testing.
    I ran the regression tests and the bench tests (WISC).  Some
    regression tests failed, but that is to be expected I supposed.
    However, when I ran the bench tests. only queries 1-15 run. After that,
    postgresql dies with a FATAL error due to a stuck spinlock:

    FATAL: s_lock(400c122c) at bufmgr.c:665, stuck spinlock. Aborting.

    If anyone wants more information on this bug let me know and I will see
    what I can do :).

Those are all of the problems I have had so far.  I have it up and running,
but it took a little tinkering.  Hopefully we can fix the configure issues
with different HP hardware platforms for the next release.   Im not sure,
but my guess is that configure will choke on the new HP N-Class machines as
well.  I dont have access to one to test it though :(.

Regards,
Mike

pgsql-ports by date:

Previous
From: "Eichert, Diana"
Date:
Subject: RE: [PORTS] error compiling odbc support for 6.5.1 under OpenBSD
Next
From: "G. Anthony Reina"
Date:
Subject: Postgres 6.5.1 on IRIX 6.5.4 with -o32 bit libraries