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