Re: [HACKERS] Re: UnixWare - Mailing list pgsql-hackers
| From | Thomas Good |
|---|---|
| Subject | Re: [HACKERS] Re: UnixWare |
| Date | |
| Msg-id | Pine.LNX.3.96.990617070459.4183A-100000@mailhost.nrnet.org Whole thread Raw |
| In response to | Re: UnixWare (Dmitry Samersoff <dms@wplus.net>) |
| Responses |
Re: [HACKERS] Re: UnixWare
|
| List | pgsql-hackers |
On Thu, 17 Jun 1999, Dmitry Samersoff wrote:
> On 17-Jun-99 Andrew Merrill wrote:
> > compile and run on SCO UnixWare 7, the current version.
> > I have not been able to compile PostgreSQL 6.5 (or any other version) on
> > UnixWare 2. The main problem seems to be that PostgreSQL uses alloca,
> > and I can't find the alloca.h header on my UnixWare 2 system.
Ouch! Wrong! I am running UnixWare 2.1.2 and PostgreSQL 6.3.2
with good effect. In my shop we are saddled with a legacy SCO box that
I will not be sinking any additional monies into. (We don't plan to
buy any other SCO products having already purchased enough to draw
a conclusion or two. ;-)
Anyway, rhetoric aside, here is my log on how I compiled using the
stock compiler. Many thanks to Bruce Momjian who walked me through this.
Andrew, you do have alloca.h on your UW 2.1.2. It's in /usr/ucblib.
You needed to tell the linker where to find it (see below).
Kak dela Dmitri, and good luck with this. Remember Bruce M is a valuable
resource and I will also try to help you as much as I am able before you
feel a need to throw money at SCO.
Dobri den (forgive fonetic Rooski! No cyrillic char set...),
Tom
/**** PostgreSQL Installation ***/
1) # useradd postgres
2) # mkdir /usr/local/pgsql
3) # mkdir /usr/src/pgsql
4) # chown postgres /usr/local/pgsql
5) # chown postgres /usr/src/pgsql
6) # chgrp other /usr/local/pgsql
7) # chgrp other /usr/src/pgsql
8) # /usr/local/bin/gunzip /usr/spool/uucppublic/postgres-6.3.2.tar.gz
9) # su - postgres
10) $ cd /usr/src/pgsql
11) $ tar xvf /usr/spool/uucppublic/postgres-6.3.2.tar
12) $ cd ./post*
13) $ cd ./src
14) $ cp configure configure.orig
15) $ vi configure... /TEMPLATE change TEMPLATE=template/`uname -s | tr A-Z a-z` to TEMPLATE=template/univel
16) $ gmake all >&make.log & flex barfs: unable to locate /home/local/lib/flex.skel FIX: download
flex-2.3pl7.tar.Z # /usr/local/bin/gunzip /var/spool/uucppublic/flex-2.3pl7.pkg.tar.Z # tar xvf flex-2.3pl7.pkg.tar
# pkgadd -d `pwd` # ln -sf /opt/bin/flex /usr/local/bin/flex
17) $ gmake all >&make.log & bison barfs... FIX: download bison-1.14.pkg.tar.Z # /usr/local/bin/gunzip
/var/spool/uucppublic/bison-1.14.pkg.tar.Z # tar xvf bison-1.14.pkg.tar # pkgadd -d `pwd` # ln -sf /opt/bin/bison
/usr/local/bin/bison
18) After a multitude of warnings, gmake barfs with: Undefined symbol alloca in file bootstrap/SUBSYS.o
Searchedlibraries: # nm /usr/lib/*.so* | grep alloca # nm /usr/lib/*.a* | grep alloca
# nm /usr/ccs/lib/*.so* | grep alloca # nm /usr/ccs/lib/*.a* | grep alloca
# nm /usr/ucblib/*.so* | grep alloca # nm /usr/ucblib/*.a* | grep alloca
FIX:tail make.log > fixer...edit to add calls to Berkeley libraries ( -L/usr/ucblib -lucb )
cd /usr/src/pgsql/postgresql-6.3.2/src/backend cc -o postgres access/SUBSYS.o bootstrap/SUBSYS.o
catalog/SUBSYS.ocommands/SUBSYS.o executor/SUBSYS.o lib/SUBSYS.o libpq/SUBSYS.o main/SUBSYS.o nodes/SUBSYS.o
optimizer/SUBSYS.oparser/SUBSYS.o port/SUBSYS.o postmaster/SUBSYS.o regex/SUBSYS.o rewrite/SUB SYS.o
storage/SUBSYS.otcop/SUBSYS.o utils/SUBSYS.o ../utils/version.o -L/usr/ucblib -lucb -lgen -lcrypt -lld -lnsl
-lsocket-ldl -lm -ltermcap -lcurses -lc89 -lc89 -Wl,-Bexport
19) After compiling the backend, gmake all barfs when compiling ecpg: Undefined first referenced symbol
in file yyout y.tab.o yylex y.tab.o
yyin ecpg.o yytext y.tab.o alloca
y.tab.o yylineno y.tab.o lex_init ecpg.o yyleng
y.tab.o UX:ld: ERROR: ecpg: fatal error: Symbol referencing errors. No output written to ecpg
gmake[3]: *** [ecpg] Error 1 gmake[2]: *** [all] Error 2 gmake[1]: *** [all] Error 2 gmake: *** [all] Error 2
Searchingall the library files (/usr/lib, /usr/ccs/lib and /usr/ucblib) with # nm *.so* | grep $file (yy---, alloca
andlex_init) and # nm *.a* | grep $file (yy---, alloca and lex_init) revealed that lex_init does not exist on this
box. FIX: comment ecpg out of the ./interfaces/Makefile
20) postgres user was unable to run initdb... FIX: edit /etc/profile:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib export LD_LIBRARY_PATH then: $ initdb --username=postgres
succeeded.
21) Attempting to fire up the server produced IpcMemoryCreate errors. FIX: enlarge shared memory avail in the
kernel... # /etc/conf/bin/idtune SHMMAX 778240 # /etc/conf/bin/idbuild -B
22) Installed DBI::DBD in usual manner but perl is too old (5.003). Downloading 5.004_04 from
www.sco.com/skunkware/uw2/interp/perl/
23) Installed Perl 5.004_04 and reinstalled DBI::DBD Error msg when trying to run a dbi script: dynamic linker:
/usr/bin/perl:symbol not found: strncasecmp FIX: edit /usr/src/perl5/DBD*/Pg.xs, replacing strncasecmp with strncmp
---rerun `make' & `make install'.
if (!strncmp(statement, "begin", 5) || !strncmp(statement, "end", 4) || !strncmp(statement,
"commit", 6) || !strncmp(statement, "abort", 5) || !strncmp(statement, "rollback", 8) ) { if
(!strncmp(statement,"begin", 5) || !strncmp(statement, "end", 4) || !strncmp(statement, "commit",
6)|| !strncmp(statement, "abort", 5) || !strncmp(statement, "rollback", 8) ) {
EOF
> I found another compiler under /udk/usr/ccs/bin, and try to use it,
> but I have lots of configure problems yet.
>
> PS:
> I'm completly new in UNIXWARE, sorry for some kind of stupidity in my
> questions ;-))
>
>
> ---
> Dmitry Samersoff, dms@wplus.net, ICQ:3161705
> http://devnull.wplus.net
> * There will come soft rains ...
>
------- North Richmond Community Mental Health Center -------
Thomas Good MIS Coordinator
Vital Signs: tomg@ { admin | q8 } .nrnet.org Phone:
718-354-5528 Fax: 718-354-5056
/* Member: Computer Professionals For Social Responsibility */
pgsql-hackers by date: