HP-UX port

From: Michael J Schout <mschout(at)mail(dot)gkg-com(dot)com>
To: pgsql-ports(at)postgresql(dot)org
Subject: HP-UX port
Date: 1999-07-28 17:48:04
Message-ID: 199907281748.MAA20525@mail.gkg-com.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-ports by date

  From Date Subject
Next Message G. Anthony Reina 1999-07-28 19:04:18 Postgres 6.5.1 on IRIX 6.5.4 with -o32 bit libraries
Previous Message Giuliano Aniello Tarallo 1999-07-28 16:58:35 Re: [PORTS] Windows 95/98