mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-03 08:00:21 +08:00
bb206b6dce
Larry Rosenman
184 lines
6.7 KiB
Plaintext
184 lines
6.7 KiB
Plaintext
============================================================
|
|
Frequently Asked Questions (FAQ) for PostgreSQL 7.3
|
|
SCO UnixWare and OpenServer specific
|
|
to be read in conjunction with the installation instructions
|
|
============================================================
|
|
last updated: $Date: 2004/05/20 04:19:26 $
|
|
|
|
current maintainer: Billy G. Allie (Bill.Allie@mug.org)
|
|
original author: Andrew Merrill (andrew@compclass.com)
|
|
|
|
|
|
PostgreSQL 7.5 can be built on SCO UnixWare 7 and SCO OpenServer 5.
|
|
On OpenServer, you can use either the OpenServer Development Kit or
|
|
the Universal Development Kit.
|
|
|
|
However, some tweaking may be needed, as described below.
|
|
|
|
Topics:
|
|
*) Skunkware
|
|
*) GNU Make
|
|
*) Readline
|
|
*) Using the UDK on OpenServer
|
|
*) Compiling PostgreSQL using the UDK
|
|
*) Reading the PostgreSQL man pages
|
|
*) C99 Issues with the 7.1.1b Feature Supplement
|
|
*) --enable-thread-safety and UnixWare
|
|
*) float4/float8 regression failures on NaN and inf I/O.
|
|
|
|
|
|
***************************************************************************
|
|
*) Skunkware
|
|
|
|
You should locate your copy of the SCO Skunkware CD. The Skunkware CD is
|
|
included with UnixWare 7 and current versions of OpenServer 5.
|
|
|
|
Skunkware includes ready-to-install versions of many popular programs that
|
|
are available on the Internet. For example, gzip, gunzip, GNU make, flex,
|
|
and bison are all included.
|
|
|
|
If you do not have this CD, the software on it is available via anonymous
|
|
ftp from ftp.sco.com/skunkware.
|
|
|
|
For UnixWare 7.1, this CD is now labeled "Open License Software Supplement".
|
|
|
|
Skunkware has different versions for UnixWare and OpenServer. Make sure
|
|
you install the correct version for your operating system, except as noted
|
|
below.
|
|
|
|
Note: on UnixWare 7.1.3 and beyond, the GCC compiler is included on the UDK
|
|
CD as is GNUMake.
|
|
|
|
***************************************************************************
|
|
*) GNU Make
|
|
|
|
You need to use the GNU make program, which is on the Skunkware CD. By
|
|
default, it installs as /usr/local/bin/make. To avoid confusion with the
|
|
SCO make program, you may want to rename GNU make to gmake.
|
|
|
|
As of UnixWare 7.1.3 and above, the GNU Make program is is the OSTK portion
|
|
of the UDK CD, and is in /usr/gnu/bin/gmake.
|
|
|
|
|
|
***************************************************************************
|
|
*) Readline
|
|
|
|
If you install the readline library, then psql (the PostgreSQL command line
|
|
SQL interpreter) remembers each command you type, and allows you to use
|
|
arrow keys to recall and edit previous commands. This is very helpful, and
|
|
is strongly recommended. The readline library is on the Skunkware CD.
|
|
|
|
The readline library is not included on the UnixWare 7.1 Skunkware CD. If
|
|
you have the UnixWare 7.0.0 or 7.0.1 Skunkware CDs, you can install it from
|
|
there. Otherwise, try ftp.sco.com/skunkware.
|
|
|
|
By default, readline installs into /usr/local/lib and /usr/local/include.
|
|
However, the PostgreSQL configure program will not find it there without
|
|
help. If you installed readline, then use the following options to
|
|
configure:
|
|
|
|
configure --with-libs=/usr/local/lib --with-includes=/usr/local/include
|
|
|
|
|
|
***************************************************************************
|
|
*) Using the UDK on OpenServer
|
|
|
|
If you are using the new Universal Development Kit (UDK) compiler on
|
|
OpenServer, you need to specify the locations of the UDK libraries:
|
|
|
|
configure --with-libs=/udk/usr/lib --with-includes=/udk/usr/include
|
|
|
|
Putting these together with the readline options from above:
|
|
|
|
./configure --with-libs="/udk/usr/lib /usr/local/lib" --with-includes="/udk/usr/include /usr/local/include"
|
|
|
|
|
|
***************************************************************************
|
|
*) Compiling PostgreSQL 7.1 with the UDK
|
|
|
|
The program, backend/utils/adt/int8.c, tickles a compiler bug with in the
|
|
following versions (and probably others as well) of the C compiler:
|
|
|
|
Optimizing C Compilation System (CCS) 3.2 08/18/98
|
|
Optimizing C Compilation System (CCS) 3.2 09/28/99
|
|
|
|
If you encounter an error compiling backend/utils/adt/int8.c, please apply
|
|
the following patch:
|
|
|
|
------------------------------8< CUT HERE >8------------------------------
|
|
*** src/backend/utils/adt/int8.c.orig Sat Oct 7 20:48:17 2000
|
|
--- src/backend/utils/adt/int8.c Sat Oct 7 20:52:03 2000
|
|
***************
|
|
*** 489,495 ****
|
|
if (arg1 < 1)
|
|
result = 0;
|
|
else
|
|
! for (i = arg1, result = 1; i > 0; --i)
|
|
result *= i;
|
|
|
|
PG_RETURN_INT64(result);
|
|
--- 489,495 ----
|
|
if (arg1 < 1)
|
|
result = 0;
|
|
else
|
|
! for (i = arg1, result = 1; i; --i)
|
|
result *= i;
|
|
|
|
PG_RETURN_INT64(result);
|
|
------------------------------8< CUT HERE >8------------------------------
|
|
|
|
This compiler bug seems to be fixed at least in
|
|
|
|
Optimizing C Compilation System (CCS) 4.0 10/23/00 (UDK FS 7.1.1b)
|
|
|
|
|
|
***************************************************************************
|
|
*) Reading the PostgreSQL man pages
|
|
|
|
By default, the PostgreSQL man pages are installed into
|
|
/usr/local/pgsql/man. By default, UnixWare does not look there for
|
|
man pages. To be able to read them you need to modify the MANPATH
|
|
variable in /etc/default/man. I use:
|
|
|
|
MANPATH=/usr/lib/scohelp/%L/man:/usr/dt/man:/usr/man:/usr/share/man:scohelp:/usr/local/man:/usr/local/pgsql/man
|
|
|
|
On OpenServer, some extra research needs to be invested to make the
|
|
man pages usable, because the man system is a bit different from other
|
|
platforms. Currently, PostgreSQL will not install them at all.
|
|
|
|
|
|
***************************************************************************
|
|
*) C99 Issues with the 7.1.1b Feature Supplement
|
|
|
|
For compilers earlier than the one released with OpenUNIX 8.0.0(UnixWare
|
|
7.1.2), Including the 7.1.1b Feature Supplement, you may need to specify -Xb
|
|
in CFLAGS or the CC environment variable. The indication of this is an
|
|
error in compiling tuplesort.c referencing inline functions.
|
|
|
|
Apparently there was a change in the 7.1.2(8.0.0) compiler and beyond.
|
|
|
|
|
|
***************************************************************************
|
|
*) --enable-thread-safety and UnixWare
|
|
|
|
If you use the --enable-thread-safety configure flag, you *MUST* use -Kpthread
|
|
on ALL libpq using programs.
|
|
|
|
libpq uses pthread_* calls, which are only available with the
|
|
-Kpthread/-Kthread flag.
|
|
|
|
***************************************************************************
|
|
*) float4/float8 regression failures on NaN and inf I/O.
|
|
|
|
You will see regression failures for the float4 and float8 regression
|
|
tests on the NaN and inf I/O functions. This is due to a bug in SCO's strtod
|
|
library function on BOTH UnixWare and OpenServer. It's slated to be fixed
|
|
in the first maintenance / update for UnixWare 7.1.4, and probably the
|
|
next MP/UP for OpenServer 5.0.7 (I'm not sure on the OSR side as of the time
|
|
I'm writing this (2004-05-14).
|
|
|
|
You might also see Join test failures due to ordering differences, and these
|
|
are ok.
|
|
|
|
|