postgresql/doc/FAQ_SCO

184 lines
6.7 KiB
Plaintext
Raw Normal View History

2001-03-14 04:52:04 +08:00
============================================================
Frequently Asked Questions (FAQ) for PostgreSQL 7.3
2001-03-14 04:52:04 +08:00
SCO UnixWare and OpenServer specific
to be read in conjunction with the installation instructions
============================================================
last updated: $Date: 2004/08/04 21:33:39 $
1999-05-28 00:05:38 +08:00
2000-04-25 07:33:07 +08:00
current maintainer: Billy G. Allie (Bill.Allie@mug.org)
1999-05-28 00:05:38 +08:00
original author: Andrew Merrill (andrew@compclass.com)
PostgreSQL 8.0 can be built on SCO UnixWare 7 and SCO OpenServer 5.
1999-05-28 00:05:38 +08:00
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
2000-04-25 07:33:07 +08:00
*) Compiling PostgreSQL using the UDK
*) Reading the PostgreSQL man pages
*) C99 Issues with the 7.1.1b Feature Supplement
2004-05-20 12:19:26 +08:00
*) --enable-thread-safety and UnixWare
*) float4/float8 regression failures on NaN and inf I/O.
1999-05-28 00:05:38 +08:00
***************************************************************************
*) 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.
1999-05-28 00:05:38 +08:00
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.
1999-05-28 00:05:38 +08:00
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.
1999-05-28 00:05:38 +08:00
2004-05-20 12:19:26 +08:00
Note: on UnixWare 7.1.3 and beyond, the GCC compiler is included on the UDK
CD as is GNUMake.
2001-03-14 04:52:04 +08:00
1999-05-28 00:05:38 +08:00
***************************************************************************
*) 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.
1999-05-28 00:05:38 +08:00
2004-05-20 12:19:26 +08:00
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.
1999-05-28 00:05:38 +08:00
***************************************************************************
*) 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.
1999-05-28 00:05:38 +08:00
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.
1999-05-28 00:05:38 +08:00
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:
1999-05-28 00:05:38 +08:00
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
2001-03-14 04:52:04 +08:00
OpenServer, you need to specify the locations of the UDK libraries:
1999-05-28 00:05:38 +08:00
2001-03-14 04:52:04 +08:00
configure --with-libs=/udk/usr/lib --with-includes=/udk/usr/include
1999-05-28 00:05:38 +08:00
2001-03-14 04:52:04 +08:00
Putting these together with the readline options from above:
1999-05-28 00:05:38 +08:00
2001-03-14 04:52:04 +08:00
./configure --with-libs="/udk/usr/lib /usr/local/lib" --with-includes="/udk/usr/include /usr/local/include"
1999-05-28 00:05:38 +08:00
2000-04-25 07:33:07 +08:00
***************************************************************************
2001-03-14 04:52:04 +08:00
*) Compiling PostgreSQL 7.1 with the UDK
2000-04-25 07:33:07 +08:00
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:
2000-04-25 07:33:07 +08:00
Optimizing C Compilation System (CCS) 3.2 08/18/98
Optimizing C Compilation System (CCS) 3.2 09/28/99
2000-04-25 07:33:07 +08:00
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
2000-04-25 07:33:07 +08:00
***************
*** 489,495 ****
if (arg1 < 1)
result = 0;
2000-04-25 07:33:07 +08:00
else
! for (i = arg1, result = 1; i > 0; --i)
result *= i;
2000-04-25 07:33:07 +08:00
PG_RETURN_INT64(result);
--- 489,495 ----
if (arg1 < 1)
result = 0;
2000-04-25 07:33:07 +08:00
else
! for (i = arg1, result = 1; i; --i)
result *= i;
PG_RETURN_INT64(result);
------------------------------8< CUT HERE >8------------------------------
2001-03-14 04:52:04 +08:00
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)
1999-05-28 00:05:38 +08:00
***************************************************************************
*) Reading the PostgreSQL man pages
1999-05-28 00:05:38 +08:00
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:
1999-05-28 00:05:38 +08:00
2000-04-25 07:33:07 +08:00
MANPATH=/usr/lib/scohelp/%L/man:/usr/dt/man:/usr/man:/usr/share/man:scohelp:/usr/local/man:/usr/local/pgsql/man
1999-05-28 00:05:38 +08:00
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.
2004-05-20 12:19:26 +08:00
***************************************************************************
*) --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.