Update machine-specific FAQs. Too late.

This commit is contained in:
Bruce Momjian 1997-10-03 15:38:31 +00:00
parent 83cd375cd2
commit 4c4f11896a
2 changed files with 285 additions and 62 deletions

View File

@ -1,45 +1,49 @@
=====================================================
Frequently Asked Questions (FAQ) for PostgresSQL V6.1
Frequently Asked Questions (FAQ) for PostgreSQL V6.1
IRIX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
=====================================================
last updated: Fri Jun 13 09:54:00 BST 1997
last updated: Fri Sep 19 11:51:00 BST 1997
current maintainer: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
original author: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
Changes in this version (* = modified, + = new, - = removed):
+1.5) Can I install PostgreSQL under Irix 6.4?
+1.6) The make fails with the following message:
ld32: ERROR 4: Conflicting flag setting: -call_shared
This file is divided approximately as follows:
1.*) Installing Postgres95
2.*) Uninstalling Postgres95
3.*) Extending Postgres95
1.*) Installing PostgreSQL
2.*) Uninstalling PostgreSQL
3.*) Extending PostgreSQL
Questions answered:
1.1) What extra items do I need to install Postgres95 under Irix?
1.1) What extra items do I need to install PostgreSQL under Irix?
1.2) What changes do I need to make to src/Makefile.global?
1.3) What are the references in X11_LIB to libsocket and libnsl in
src/Makefile.global?
1.4) Are there any other changes I should make?
1.5) Can I install PostgreSQL under Irix 6.4?
1.5) Can I install PostgreSQL under Irix 6.x?
1.6) The make fails with the following message:
ld32: ERROR 4: Conflicting flag setting: -call_shared
2.1) Why can't I move the executable files?
3.1) How do I compile a C program to create a function for extending
Postgres95
PostgreSQL
----------------------------------------------------------------------
Section 1: Installing Postgres95
Section 1: Installing PostgreSQL
----------------------------------------------------------------------
1.1) What extra items do I need to install Postgres95 under Irix?
1.1) What extra items do I need to install PostgreSQL under Irix?
You *must* have the following installed:
a) Gnu make (installed as gmake)
You are recommended to install the following:
a) GNU install (installed as ginstall)
(This is part of the GNU fileutils package)
You may choose to install the following:
a) GNU readline library (if you wish psql to have readline
@ -83,15 +87,19 @@ Section 1: Installing Postgres95
CUSTOM_INSTALL=ginstall
For an explanation as to why this is a good idea, see Question 2.1
Ginstall is part of the GNU fileutils package.
1.5) Can I install PostgreSQL under Irix 6.4?
1.5) Can I install PostgreSQL under Irix 6.x?
Irix 6.4 has a bug in ld which mishandles the addresses of
Irix 6.2-6.4 has a bug in ld which mishandles the addresses of
static procedures when object files are assembled into
larger object files using 'ld -r'. This bug has been reported
to Silicon Graphics. The following patch should be applied as
a workaround. (Supplied by Bob Bruccoleri <bruc@bms.com>)
to Silicon Graphics.
One option is to use the Gnu version of ld. Alternatively,
the following patch should be applied as a workaround.
(Supplied by Bob Bruccoleri <bruc@bms.com>)
*** ./backend/Makefile.orig Thu May 22 00:00:15 1997
--- ./backend/Makefile Thu Jun 5 16:47:27 1997
@ -117,8 +125,25 @@ Section 1: Installing Postgres95
$(OBJS): $(DIRS:%=%.dir)
1.6) The make fails with the following message:
ld32: ERROR 4: Conflicting flag setting: -call_shared
If gmake fails in .../src/backend while building obj/ACCESS.o
with a message from ld32, you can work around this by using
ld for the LD environment variable rather than cc.
The problem has been observed under Irix 5.3 when compiling both
Postgres95-1.09 and PostgreSQL-6.2Beta6, but on some systems
these appear to compile with no such problems.
Fix supplied by Brian Sanders (bsanders@netcom.com,
brian@fresnelsoft.com)
----------------------------------------------------------------------
Section 2: Deinstalling Postgres95
Section 2: Deinstalling PostgreSQL
----------------------------------------------------------------------
2.1) Why can't I move the executable files?
@ -140,14 +165,14 @@ Section 2: Deinstalling Postgres95
----------------------------------------------------------------------
Section 3: Extending Postgres95
Section 3: Extending PostgreSQL
----------------------------------------------------------------------
3.1) How do I compile a C program to create a function for extending
Postgres95
PostgreSQL
Here is a sample command line:
cc -I/usr/local/postgres95/include/ -I/usr/local/postgres95/src/backend
cc -I/usr/local/PostgreSQL/include/ -I/usr/local/PostgreSQL/src/backend
-shared -o funcs.so funcs.c

View File

@ -1,31 +1,18 @@
=====================================================
Frequently Asked Questions (FAQ) for PostgresSQL V6.0
=======================================================
Frequently Asked Questions (FAQ) for PostgreSQL >= V6.1
Linux Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
=====================================================
last updated: Wed Jan 29 20:16:00 GMT 1997
=======================================================
last updated: Wed Oct 01 11:45:00 BST 1997
current maintainer: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
original author: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
Changes in this version (* = modified, + = new, - = removed):
*1.1) What changes do I need to make to src/Makefile.global or
src/Makefile.custom?
*1.2) Why do I get problems with missing libreadline?
*1.6) GCC complains about an ignored option -fpic
*1.7) I get warnings of the form
warning: cast from pointer to integer of different size
*1.8) [SuSE-Linux 4.2] Where is curses and termcap?
*1.11) How do I compile PostgreSQL on an a.out system?
*1.12) Why does make fail with:
yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
make: /usr/bin/make: cannot execute binary file
*1.14) [DEBIAN] Where is libtermcap?
*2.1) The linker fails to find libX11 when compiling pgtclsh
+3.6) Why does psql fail with:
psql: can't load library 'libpq.so.1'
-4.*) Spurious problems
+3.9) Why does Query 32 in the regression tests take so long?
This file is divided approximately as follows:
1.*) Installing PostgreSQL
@ -35,7 +22,7 @@ This file is divided approximately as follows:
Questions answered:
1.1) What changes do I need to make to src/Makefile.global or
src/Makefile.custom?
src/Makefile.custom and are there any other changes needed?
1.2) Why do I get problems with missing libreadline?
1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h?
1.4) [SLACKWARE 3.1] Why do I get problems with missing libdl and dlfcn.h?
@ -44,7 +31,7 @@ Questions answered:
1.6) GCC complains about an ignored option -fpic
1.7) I get warnings of the form
warning: cast from pointer to integer of different size
1.8) [SuSE-Linux 4.2] Where is curses and termcap?
1.8) [SuSE-Linux 4.2-4.4] Where is curses and termcap?
1.9) Why do I get problems with ld.so?
1.10) Why do I get `yy_flush_buffer undefined' errors?
1.11) How do I compile PostgreSQL on an a.out system?
@ -54,6 +41,16 @@ Questions answered:
1.13) What are the references in X11_LIB to libsocket and libnsl in
src/Makefile.global?
1.14) [DEBIAN] Where is libtermcap?
1.15) [REDHAT] Can I get PostgreSQL as an RPM?
1.16) While trying to compile a development version under Linux, compilation
fails with a message like:
In file included from /usr/include/sys/sem.h:8,
from ipc.c:37:
/usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
....
make: *** [ipc.o] Error 1
1.17) When compiling postgres, gcc reports signal 11 and aborts.
1.18) Can I install 6.1.1 under MkLinux?
2.1) The linker fails to find libX11 when compiling pgtclsh
3.1) I get an error reporting _fUnKy_POSTPORT_sTuFf_ undefined when
running scripts like createuser
@ -72,20 +69,28 @@ Questions answered:
failed: Invalid argument
3.6) Why does psql fail with:
psql: can't load library 'libpq.so.1'
4.1) Why doesn't the postmaster start the first time?
3.7) Other strange behaviour
3.8) When PostgreSQL is running when the system is shutdown, Linux
always fsck's the disk when rebooted.
3.9) Why does Query 32 in the regression tests take so long?
----------------------------------------------------------------------
Section 1: Compiling PostgreSQL
----------------------------------------------------------------------
1.1) What changes do I need to make to src/Makefile.global or
src/Makefile.custom?
src/Makefile.custom and are there any other changes needed?
These changes are most easily made by running the customize
shell script in the src directory which will write a
Changes to the makefiles are most easily made by running the
customize shell script in the src directory which will write a
Makefile.custom for you.
If you do it by hand, you *must* set the following variable:
The only other change you may have to make is to replace
Flex if you have version 2.5.3 which has a bug which generally
manifests itself as createuser failing (See Question 3.4)
If you modify the makefiles by hand, you *must* set the
following variable:
PORTNAME= linux
You will also need to change the following to match your own
@ -130,6 +135,10 @@ Section 1: Compiling PostgreSQL
1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h?
This manifests itself as being unable to link with functions
such as dlopen(), dlclose(), etc. during the last phase of the
compilation.
The libdl library is used for dynamic linking of user-supplied
functions at run-time. For some reason this library was missed out
from the Redhat distribution. It seems that the latest Redhat 4.0
@ -164,6 +173,10 @@ Section 1: Compiling PostgreSQL
1.4) [SLACKWARE 3.1] Why do I get problems with missing libdl and dlfcn.h?
This manifests itself as being unable to link with functions
such as dlopen(), dlclose(), etc. during the last phase of the
compilation.
See the answer to question 1.3. Slackware up to version 3.0 was
supplied with this library and include file and they seem to be
back in again in the latest versions of 3.1, but the early 3.1
@ -236,26 +249,41 @@ Section 1: Compiling PostgreSQL
except those related to system header files (which can also
be safely ignored).
1.8) [SuSE-Linux 4.2] Where is curses and termcap?
1.8) [SuSE-Linux 4.2-4.4] Where is curses and termcap?
SuSE-Linux has ncurses but not curses. Set the value of CURSES_LIB
in src/Makefile.custom to -lncurses (or do this through the
customize script).
SuSE-Linux 4.2 has ncurses but not curses. 4.4 appears to have both.
SuSE-Linux also has the termcap library is in /usr/lib/termcap
instead of in /usr/lib.
SuSE-Linux has the termcap library is in /usr/lib/termcap instead of
in /usr/lib. If you have a problem, you need to add the following
line to src/Makefile.custom:
PostgreSQL (up to V6.0)
-----------------------
Set the value of CURSES_LIB in src/Makefile.custom to -lncurses
(or do this through the customize script).
Add the following line to src/Makefile.custom:
LDADD_BE+= -L/usr/lib/termcap
You may need to edit src/bin/psql/Makefile and comment out the
change:
ifeq ($(PORTNAME), linux)
LD_ADD+= -ltermcap
to:
You may need to edit src/bin/psql/Makefile and change:
ifeq ($(PORTNAME), linux)
LD_ADD+=
to:
ifeq ($(PORTNAME), linux)
LD_ADD+= -ltermcap
PostgreSQL (V6.1)
-----------------
The configure script doesn't know to look in /usr/lib/termcap for
the termcap library, so you should specify this as one of the
library directories when asked for additional directories to
search.
If this doesn't work (I don't have SuSE to verify that it does)
then after running configure, you need to edit
src/Makefile.global and add -ltermcap to the LDFLAGS line
(after -lreadline).
You may also wish to force use of ncurses rather than curses by
changing -lcurses to -lncurses.
1.9) Why do I get problems with ld.so?
@ -282,6 +310,7 @@ Section 1: Compiling PostgreSQL
First, you must install the dld library. This may be obtained
from Sunsite as:
Linux/libs/dld.3.2.7.tar.gz
(ftp://sunsite.unc.edu/pub/Linux/libs/dld.3.2.7.tar.gz)
Second, add the following line to src/Makefile.custom:
LINUX_ELF=
@ -327,6 +356,57 @@ Section 1: Compiling PostgreSQL
LD_ADD+=
1.15) [REDHAT] Can I get PostgreSQL as an RPM?
Yes! Michal Mosiewicz <mimo@lodz.pdi.net>
(http://www.pdi.lodz.pl/~mimo) has kindly put together an RPM
for PostgreSQL V6.0 on Intel architectures which he has uploaded to
ftp://ftp.redhat.org/pub/Incoming/Postgres-6.0-1.i386.rpm
This is a pre-compiled version, the source RPM is on its
was as I write (3rd Feb 1997).
1.16) While trying to compile a development version under Linux, compilation
fails with a message like:
In file included from /usr/include/sys/sem.h:8,
from ipc.c:37:
/usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
....
make: *** [ipc.o] Error 1
The problem is that Linux provides no prototypes for these
inline functions. The solution is to go into the
.../src/backend/storage/ipc directory and edit the Makefile.
Change the line
CFLAGS+=$(INCLUDE_OPT)
to
CFLAGS+=$(INCLUDE_OPT) -Wno-error
Do the same in the ../src/backend/storage/lmgr directory.
1.17) When compiling postgres, gcc reports signal 11 and aborts.
More specifically:
gcc: Internal compiler error: program cc1 got fatal
signal 11
This may be a hardware/memory problem. PortgreSQL is a big
program, and large gcc compilations (such as building
PostgreSQL or bebuilding the kernel) stress memory like
few other programs, resulting in errors that do not occur
in normal operation. Lesser operating systems are also
unlikely to stress the hardware to this degree so you
may never see any problems under DOS/Windows.
More information on this problem at:
http://www.bitwizard.nl/sig11
1.18) Can I install 6.1.1 under MkLinux?
Tatsuo Ishii <t-ishii@sra.co.jp> has done this under
MkLinux DR2.1 update2 after a small patch available from:
ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz
----------------------------------------------------------------------
Section 2: Compiling accessory programs
----------------------------------------------------------------------
@ -375,9 +455,10 @@ Section 3: Runtime Problems
3.4) Why doesn't createuser work?
There is a problem with Version 2.5.3 of GNU flex and createuser.
Your options are to downgrade flex to V2.5.2, apply a patch to
V2.5.3 (supplied in doc/README.flex) or wait for V2.5.4 which
will fix the bug.
Your options are to downgrade flex to V2.5.2, upgrade to V2.5.4
or apply a patch to V2.5.3 which is supplied in doc/README.flex
You may obtain V2.5.4 from
ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz
3.5) Why do I get an error like:
IpcMemoryCreate: memKey=155356396 , size=760632 ,
@ -398,5 +479,122 @@ Section 3: Runtime Problems
Add a single line at the end which gives the name of the
PostgreSQL library directory (the lib subdirectory of your
PostgreSQL installation) and run
/sbin/ldconfig
/sbin/ldconfig -v
Alternatively, (and if you don't have root access), you may
use the LD_LIBRARY_PATH environment variable.
The LD_LIBRARY_PATH variable contains a colon separated list of
paths to be searched for shared libraries. This list is
searched before the libraries specified by ldconfig.
Therefore under Bash, you would do something like:
export LD_LIBRARY_PATH='PathToPGSQL'/lib
or, using tcsh
setenv LD_LIBRARY_PATH 'PathToPGSQL'/lib
replacing 'PathToPGSQL' with the appropriate path to your top level
PostgreSQL directory
Note that the ldd command can be used on a dynamically linked
executable to list the paths to all the shared libraries upon
which the executable depends.
3.7) Other strange behaviour
I'm not sure what the symptoms might be except for nothing
working properly, but it has been pointed out that one needs
to be careful that the dynamic loader loads the correct version
of the libpq library. If you have old versions lying around
in your library path (for example in /usr/lib) these may get
loaded instead of the new version you intended to load. Make
sure you get them out of the way and look at Q3.6 for
details of loading libraries.
3.8) When PostgreSQL is running when the system is shutdown, Linux
always fsck's the disk when rebooted.
There have been some reports of this happening and it seems
to be a result of running PostgreSQL from /etc/inittab as
suggested in the INSTALL document.
You are therefore recommended to start the postmaster from an
rc script. Under a Slackware-like release, you would modify
/etc/rc.d/rc.local to start the postmaster. Under a RedHat-like
release you should create a SysV style script in
/etc/rc.d/rc3.d based on the /etc/rc.d/init.d skeleton file.
There's a sample file in contrib/linux/postgres.init
Here's another sample file supplied by John Robinson
<john@intelligent.co.uk> which you should modify as needed:
#!/bin/sh
#
# postgreSQL.init This shell script takes care of starting and stopping
# the PostgreSQL postmaster.
#
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n "Starting postgres Postmaster daemon:"
if [ -z "`pidofproc postmaster`" ]
then
su postgres -c "/usr/local/pgsql/bin/postmaster -D /home/postgreSQL/data -p 5432 &"
echo -n " postmaster"
else
echo -n " (already running)"
fi
echo
touch /var/lock/subsys/postgres
;;
stop)
# Stop daemons.
echo -n "Shutting down postgres Postmaster daemon: "
killall -TERM postmaster 2>/dev/null
killall -TERM postgres 2>/dev/null
echo
rm -f /var/lock/subsys/postgres
;;
*)
echo "Usage: postgres {start|stop}"
exit 1
esac
exit 0
3.9) Why does Query 32 in the regression tests take so long?
This is due to a bug in regression scripts which only happens
on linux boxes. There are two workarounds as far as I know
(information from Tatsuo Ishii <t-ishii@sra.co.jp>):
1. change following in regress.sh:
time postgres -texecutor -tplanner -Q bench < bench.sql
to:
postgres -texecutor -tplanner -Q bench < bench.sql
2. after running the test, remove a line at the very end of
bench.out something like:
85.86user 114.47system 4:49.20elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k
then type:
sh ./perquery < bench.out > & bench.out.perquery
----------------------------------------------------------------------------
Dr. Andrew C.R. Martin University College London
EMAIL: (Work) martin@biochem.ucl.ac.uk (Home) andrew@stagleys.demon.co.uk
URL: http://www.biochem.ucl.ac.uk/~martin
Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775