Add comment about the use of EXEC_BACKEND.
[PostgreSQL.git] / doc / FAQ_SCO
blob08b5d632a35a54060c39bba0b3f13ee86cbcede4
1 =======================================================
2 Frequently Asked Questions (FAQ) for PostgreSQL
3 IRIX Specific
4 TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
5 =======================================================
6 last updated:           $Date: 2004/08/04 21:33:39 $
8 current maintainer:     Billy G. Allie (Bill.Allie@mug.org)
9 original author:        Andrew Merrill (andrew@compclass.com)
12 Consult http://buildfarm.postgresql.org/ for latest information.
14 PostgreSQL 8.0 can be built on SCO UnixWare 7 and SCO OpenServer 5.
15 On OpenServer, you can use either the OpenServer Development Kit or 
16 the Universal Development Kit.
18 However, some tweaking may be needed, as described below.
20 Topics:
21 *) Skunkware
22 *) GNU Make
23 *) Readline
24 *) Using the UDK on OpenServer
25 *) Compiling PostgreSQL using the UDK
26 *) Reading the PostgreSQL man pages
27 *) C99 Issues with the 7.1.1b Feature Supplement 
28 *) --enable-thread-safety and UnixWare
29 *) float4/float8 regression failures on NaN and inf I/O.
32 ***************************************************************************
33 *) Skunkware
35 You should locate your copy of the SCO Skunkware CD.  The Skunkware CD is
36 included with UnixWare 7 and current versions of OpenServer 5.
38 Skunkware includes ready-to-install versions of many popular programs that
39 are available on the Internet.  For example, gzip, gunzip, GNU make, flex,
40 and bison are all included.
42 If you do not have this CD, the software on it is available via anonymous
43 ftp from ftp.sco.com/skunkware.
45 For UnixWare 7.1, this CD is now labeled "Open License Software Supplement".
47 Skunkware has different versions for UnixWare and OpenServer.  Make sure
48 you install the correct version for your operating system, except as noted
49 below.
51 Note: on UnixWare 7.1.3 and beyond, the GCC compiler is included on the UDK
52 CD as is GNUMake.
54 ***************************************************************************
55 *) GNU Make
57 You need to use the GNU make program, which is on the Skunkware CD.  By
58 default, it installs as /usr/local/bin/make.  To avoid confusion with the
59 SCO make program, you may want to rename GNU make to gmake.
61 As of UnixWare 7.1.3 and above, the GNU Make program is is the OSTK portion
62 of the UDK CD, and is in /usr/gnu/bin/gmake.
65 ***************************************************************************
66 *) Readline
68 If you install the readline library, then psql (the PostgreSQL command line
69 SQL interpreter) remembers each command you type, and allows you to use
70 arrow keys to recall and edit previous commands.  This is very helpful, and
71 is strongly recommended.  The readline library is on the Skunkware CD.
73 The readline library is not included on the UnixWare 7.1 Skunkware CD.  If
74 you have the UnixWare 7.0.0 or 7.0.1 Skunkware CDs, you can install it from
75 there.  Otherwise, try ftp.sco.com/skunkware.
77 By default, readline installs into /usr/local/lib and /usr/local/include.
78 However, the PostgreSQL configure program will not find it there without
79 help.  If you installed readline, then use the following options to
80 configure:
82 configure --with-libs=/usr/local/lib --with-includes=/usr/local/include
85 ***************************************************************************
86 *) Using the UDK on OpenServer
88 If you are using the new Universal Development Kit (UDK) compiler on
89 OpenServer, you need to specify the locations of the UDK libraries:
91 configure --with-libs=/udk/usr/lib --with-includes=/udk/usr/include
93 Putting these together with the readline options from above:
95 ./configure --with-libs="/udk/usr/lib /usr/local/lib" --with-includes="/udk/usr/include /usr/local/include"
98 ***************************************************************************
99 *) Compiling PostgreSQL 7.1 with the UDK
101 The program, backend/utils/adt/int8.c, tickles a compiler bug with in the
102 following versions (and probably others as well) of the C compiler:
104         Optimizing C Compilation System  (CCS) 3.2  08/18/98
105         Optimizing C Compilation System  (CCS) 3.2  09/28/99 
107 If you encounter an error compiling backend/utils/adt/int8.c, please apply
108 the following patch:
110 ------------------------------8< CUT HERE >8------------------------------
111 *** src/backend/utils/adt/int8.c.orig   Sat Oct  7 20:48:17 2000
112 --- src/backend/utils/adt/int8.c        Sat Oct  7 20:52:03 2000
113 ***************
114 *** 489,495 ****
115         if (arg1 < 1)
116                 result = 0;
117         else
118 !               for (i = arg1, result = 1; i > 0; --i)
119                         result *= i;
120   
121         PG_RETURN_INT64(result);
122 --- 489,495 ----
123         if (arg1 < 1)
124                 result = 0;
125         else
126 !               for (i = arg1, result = 1; i; --i)
127                         result *= i;
128   
129         PG_RETURN_INT64(result);
130 ------------------------------8< CUT HERE >8------------------------------
132 This compiler bug seems to be fixed at least in
134         Optimizing C Compilation System  (CCS) 4.0  10/23/00 (UDK FS 7.1.1b) 
137 ***************************************************************************
138 *) Reading the PostgreSQL man pages
140 By default, the PostgreSQL man pages are installed into
141 /usr/local/pgsql/man.  By default, UnixWare does not look there for
142 man pages.  To be able to read them you need to modify the MANPATH
143 variable in /etc/default/man.  I use:
145         MANPATH=/usr/lib/scohelp/%L/man:/usr/dt/man:/usr/man:/usr/share/man:scohelp:/usr/local/man:/usr/local/pgsql/man
147 On OpenServer, some extra research needs to be invested to make the
148 man pages usable, because the man system is a bit different from other
149 platforms.  Currently, PostgreSQL will not install them at all.
152 ***************************************************************************
153 *) C99 Issues with the 7.1.1b Feature Supplement 
155 For compilers earlier than the one released with OpenUNIX 8.0.0(UnixWare
156 7.1.2), Including the 7.1.1b Feature Supplement, you may need to specify -Xb
157  in CFLAGS or the  CC environment variable.  The indication of this is an
158 error in compiling tuplesort.c referencing inline functions. 
160 Apparently there was a change in the 7.1.2(8.0.0) compiler and beyond.
163 ***************************************************************************
164 *) --enable-thread-safety and UnixWare
166 If you use the --enable-thread-safety configure flag, you *MUST* use -Kpthread
167 on ALL libpq using programs.
169 libpq uses pthread_* calls, which are only available with the
170 -Kpthread/-Kthread flag.
172 ***************************************************************************
173 *) float4/float8 regression failures on NaN and inf I/O.
175 You will see regression failures for the float4 and float8 regression
176 tests on the NaN and inf I/O functions.  This is due to a bug in SCO's strtod
177 library function on BOTH UnixWare and OpenServer.  It's slated to be fixed
178 in the first maintenance / update for UnixWare 7.1.4, and probably the
179 next MP/UP for OpenServer 5.0.7 (I'm not sure on the OSR side as of the time
180 I'm writing this (2004-05-14).
182 You might also see Join test failures due to ordering differences, and these
183 are ok.