Re: [HACKERS] Re: UnixWare
От | Thomas Good |
---|---|
Тема | Re: [HACKERS] Re: UnixWare |
Дата | |
Msg-id | Pine.LNX.3.96.990617070459.4183A-100000@mailhost.nrnet.org обсуждение исходный текст |
Ответ на | Re: UnixWare (Dmitry Samersoff <dms@wplus.net>) |
Ответы |
Re: [HACKERS] Re: UnixWare
(Dmitry Samersoff <dms@wplus.net>)
|
Список | 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 по дате отправления:
Предыдущее
От: The Hermit HackerДата:
Сообщение: Re: [HACKERS] mirroring problem (www.postgresql.org)