mirror of https://github.com/postgres/postgres
parent
d91cc297bb
commit
7ee319d80e
@ -1,146 +0,0 @@ |
||||
From scrappy@ki.net Tue Oct 29 11:36:07 1996 |
||||
Status: RO |
||||
X-Status: |
||||
Received: from mail-d.bcc.ac.uk (mail-d.bcc.ac.uk [144.82.100.24]) by quagmire.ki.net (8.8.2/8.7.5) with SMTP id LAA05240 for <scrappy@ki.net>; Tue, 29 Oct 1996 11:32:16 -0500 (EST) |
||||
Received: from bsm.biochemistry.ucl.ac.uk (actually bsmcha1.biochem.ucl.ac.uk) |
||||
by mail-d.bcc.ac.uk with SMTP (PP); Tue, 29 Oct 1996 15:35:20 +0000 |
||||
Received: from bsmir06 (bsmir06 [128.40.46.43]) |
||||
by bsm.biochemistry.ucl.ac.uk (951211.SGI.8.6.12.PATCH1042/8.6.6) |
||||
with ESMTP id PAA16463 for <scrappy@ki.net>; |
||||
Tue, 29 Oct 1996 15:35:18 GMT |
||||
From: Andrew Martin <martin@biochemistry.ucl.ac.uk> |
||||
Received: (martin@localhost) by bsmir06 (950215.SGI.8.6.10/8.6.6) id PAA07654 |
||||
for scrappy@ki.net; Tue, 29 Oct 1996 15:35:17 GMT |
||||
Date: Tue, 29 Oct 1996 15:35:17 GMT |
||||
Message-Id: <199610291535.PAA07654@bsmir06> |
||||
To: scrappy@ki.net |
||||
Subject: Irix FAQ |
||||
Reply-To: martin@biochemistry.ucl.ac.uk |
||||
|
||||
==================================================== |
||||
Frequently Asked Questions (FAQ) for Postgres95 |
||||
IRIX Specific |
||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ |
||||
==================================================== |
||||
last updated: Fri Oct 25 18:40:00 BST 1996 |
||||
|
||||
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): |
||||
-0.*) Bugs in Postgres95 V1.08 |
||||
*1.3) What are the references in X11_LIB to libsocket and libnsl in |
||||
src/Makefile.global? |
||||
|
||||
This file is divided approximately as follows: |
||||
1.*) Installing Postgres95 |
||||
2.*) Uninstalling Postgres95 |
||||
3.*) Extending Postgres95 |
||||
|
||||
|
||||
Questions answered: |
||||
1.1) What extra items do I need to install Postgres95 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? |
||||
2.1) Why can't I move the executable files? |
||||
|
||||
---------------------------------------------------------------------- |
||||
Section 1: Installing Postgres95 |
||||
---------------------------------------------------------------------- |
||||
|
||||
1.1) What extra items do I need to install Postgres95 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) |
||||
|
||||
You may choose to install the following: |
||||
a) GNU readline library (if you wish psql to have readline |
||||
support). |
||||
b) tcl/tk (if you wish to compile pgtclsh) |
||||
|
||||
1.2) What changes do I need to make to src/Makefile.global? |
||||
|
||||
You *must* set the following variables: |
||||
PORTNAME= irix5 |
||||
IPCSDIR= /usr/sbin |
||||
|
||||
You will also need to change the following to match your own |
||||
installation: |
||||
SRCDIR |
||||
POSTGRESDIR |
||||
|
||||
If you switch on the USE_TCL option, you will need to set these: |
||||
TCL_INCDIR= |
||||
TCL_LIBDIR= |
||||
TCL_LIB = |
||||
TK_INCDIR= |
||||
TK_LIBDIR= |
||||
TK_LIB = |
||||
|
||||
You may also make any other changes you need as documented in |
||||
the INSTALL file and in Makefile.global |
||||
|
||||
1.3) What are the references in X11_LIB to libsocket and libnsl in |
||||
src/Makefile.global? |
||||
|
||||
This was a problem in 1.08 (they are Sun Solaris specific). |
||||
It is fixed in 1.09. |
||||
|
||||
1.4) Are there any other changes I should make? |
||||
|
||||
If you have installed the GNU install program (ginstall), you |
||||
should edit src/mk/port/postgres.mk.irix5 |
||||
and change the line: |
||||
INSTALL=/usr/bin/X11/bsdinst |
||||
to |
||||
INSTALL=ginstall |
||||
|
||||
For an explanation as to why this is a good idea, see Question 2.1 |
||||
|
||||
|
||||
---------------------------------------------------------------------- |
||||
Section 2: Deinstalling Postgres95 |
||||
---------------------------------------------------------------------- |
||||
|
||||
2.1) Why can't I move the executable files? |
||||
|
||||
By default, the IRIX port uses the BSD compatible version of |
||||
install from /usr/bin/X11. If you read the man page for this |
||||
version of install, you will see that it is not meant for |
||||
end-user use; it has the interesting side-effect of chowning |
||||
files it installs to root. |
||||
|
||||
You should still be able to delete the files as you (the |
||||
postgres user) will own the directory in which they are |
||||
stored. |
||||
|
||||
The normal IRIX install program cannot be used easily as it |
||||
takes its arguments in the reverse order. It is therefore |
||||
recommended to use the GNU version of install (ginstall). |
||||
See Question 1.4 |
||||
|
||||
|
||||
---------------------------------------------------------------------- |
||||
Section 3: Extending Postgres95 |
||||
---------------------------------------------------------------------- |
||||
3.1) How do I compile a C program to create a function for extending |
||||
Postgres95 |
||||
|
||||
Here is a sample command line: |
||||
|
||||
cc -I/usr/local/postgres95/include/ -I/usr/local/postgres95/src/backend |
||||
-shared -o funcs.so funcs.c |
||||
|
||||
|
||||
**************************************************************************** |
||||
Dr. Andrew C.R. Martin, University College London & SciTech Software |
||||
EMAIL: martin@biochem.ucl.ac.uk Tel:(Work) +44(0)171 419 3890 |
||||
URL: http://www.biochem.ucl.ac.uk/~martin (Home) +44(0)1372 275775 |
||||
**************************************************************************** |
||||
|
@ -1,410 +0,0 @@ |
||||
==================================================== |
||||
Frequently Asked Questions (FAQ) for Postgres95 |
||||
Linux Specific |
||||
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ |
||||
==================================================== |
||||
last updated: Mon Oct 28 10:25:00 BST 1996 |
||||
|
||||
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): |
||||
-0.*) Bugs in Postgres95 V1.08 |
||||
*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? |
||||
*1.5) My compile of the backend dies complaining about the include file |
||||
dlfcn.h missing |
||||
*1.9) Why do I get problems with ld.so? |
||||
*1.13) What are the references in X11_LIB to libsocket and libnsl in |
||||
src/Makefile.global? |
||||
|
||||
|
||||
This file is divided approximately as follows: |
||||
1.*) Installing Postgres95 |
||||
2.*) Compiling accessory programs |
||||
3.*) Runtime Problems |
||||
4.*) Spurious Problems in Need of Verification |
||||
|
||||
|
||||
Questions answered: |
||||
1.1) What changes do I need to make to src/Makefile.global |
||||
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? |
||||
1.5) My compile of the backend dies complaining about the include file |
||||
dlfcn.h missing |
||||
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.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 Postgres95 on an a.out system? |
||||
1.12) Why does make fail with: |
||||
yacc -d /disk2/postgres95/src/backend/parser/gram.y |
||||
make: /usr/bin/make: cannot execute binary file |
||||
1.13) What are the references in X11_LIB to libsocket and libnsl in |
||||
src/Makefile.global? |
||||
1.14) [DEBIAN] Where is libtermcap? |
||||
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 |
||||
3.2) I run postmaster and after that system says 'Bad system call(Core |
||||
dumped)' |
||||
3.3) When I try to start the Postmaster, why do I get an error of the form |
||||
Failed Assertion("!(file != 0):(null)", File: |
||||
"/usr/local/postgres95/src/backend/storage/file/fd.c", Line: 257) |
||||
!(file != 0) (0) |
||||
initdb: could not create template database |
||||
initdb: cleaning up. |
||||
3.4) Why doesn't createuser work? |
||||
3.5) Why do I get an error like: |
||||
IpcMemoryCreate: memKey=155356396 , size=760632 , |
||||
permission=384IpcMemoryCreate: shmget(..., create, ...) |
||||
failed: Invalid argument |
||||
4.1) Why doesn't the postmaster start the first time? |
||||
|
||||
---------------------------------------------------------------------- |
||||
Section 1: Compiling Postgres95 |
||||
---------------------------------------------------------------------- |
||||
|
||||
1.1) What changes do I need to make to src/Makefile.global |
||||
|
||||
You *must* set the following variables: |
||||
PORTNAME= linux |
||||
|
||||
You will also need to change the following to match your own |
||||
installation: |
||||
SRCDIR |
||||
POSTGRESDIR |
||||
|
||||
If you switch on the USE_TCL option, you will need to set these: |
||||
TCL_INCDIR= |
||||
TCL_LIBDIR= |
||||
TCL_LIB= |
||||
TK_INCDIR= |
||||
TK_LIBDIR= |
||||
TK_LIB= |
||||
X11_INCDIR= |
||||
X11_LIBDIR= |
||||
X11_LIB= |
||||
|
||||
On my Slackware3.0 system, these are: |
||||
TCL_INCDIR= /usr/include/tcl |
||||
TCL_LIBDIR= /usr/lib |
||||
TCL_LIB= -ltcl |
||||
TK_INCDIR= /usr/include/tcl |
||||
TK_LIBDIR= /usr/lib |
||||
TK_LIB= -ltk |
||||
X11_INCDIR= /usr/include/X11 |
||||
X11_LIBDIR= /usr/X386/lib |
||||
X11_LIB= -lX11 |
||||
|
||||
You may also make any other changes you need as documented in |
||||
the INSTALL file and in Makefile.global |
||||
|
||||
|
||||
1.2) Why do I get problems with missing libreadline? |
||||
|
||||
Linux systems generally don't come with the GNU readline library |
||||
installed. Either comment out the USE_READLINE variable in |
||||
src/Makefile.global or install the GNU readline library. |
||||
|
||||
Note that Debian Linux (like FreeBSD) does come with readline |
||||
installed. |
||||
|
||||
1.3) [REDHAT] Why do I get problems with missing libdl and dlfcn.h? |
||||
|
||||
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 |
||||
(Colgate) fixes this. |
||||
|
||||
RedHat now have a new ld.so RPM package on their FTP site. |
||||
Simply grab: |
||||
|
||||
ftp://ftp.redhat.com/pub/redhat/devel/i386/RedHat/RPMS/ld.so-1.7.14-4.i386.rpm |
||||
|
||||
Install the RPM file in the usual way and off you go! |
||||
|
||||
There has been one report of a corrupted system resulting from |
||||
programs accessing these libraries while updating them (not |
||||
altogether surprising). Consequently it is a good idea to reboot |
||||
the system before installing the new libraries and to |
||||
have as little running as possible during this upgrade. Going |
||||
into single-user mode is probably a good idea! |
||||
|
||||
If you want to do it the hard way, you can obtain the library and the |
||||
header file from: |
||||
|
||||
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.7.14.tar.gz |
||||
|
||||
Alternatively, you may find precompiled binaries in |
||||
distributions/debian/buzz/binary-i386/base/ld.so-1.7.14-4.deb |
||||
on the same site, or follow the instructions given for question 1.2 for |
||||
correcting the same error with early releases of Slackware 3.1. |
||||
Don't use this method unless you know what you are doing! |
||||
|
||||
|
||||
|
||||
1.4) [SLACKWARE 3.1] Why do I get problems with missing libdl and dlfcn.h? |
||||
|
||||
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 |
||||
releases (before 9th September 1996) had them missing and many |
||||
CD-ROM versions will have been pressed from the first 3.1 releases. |
||||
|
||||
There has been one report of a corrupted system resulting from |
||||
programs accessing these libraries while updating them (not |
||||
altogether surprising). Consequently it is a good idea to reboot |
||||
the system before installing the new libraries and to |
||||
have as little running as possible during this upgrade. Going |
||||
into single-user mode is probably a good idea! |
||||
|
||||
The easiest fix is to obtain the file ldso.tgz from the a4 disk of |
||||
a more recent Slackware 3.1 distribution and unpack this file |
||||
from the root (/) directory, then do |
||||
|
||||
sh install/doinst.sh |
||||
|
||||
to complete the installation. Follow this with |
||||
|
||||
ldconfig |
||||
|
||||
If you want to install manually, you must first install the file |
||||
dlfcn.h in /usr/include. |
||||
|
||||
Second, install the file libdl.so.1.7.14 (or whatever the latest |
||||
release is) in /lib, then do: |
||||
|
||||
cd /lib |
||||
ln -sf libdl.so.1.7.14 libdl.so.1 |
||||
ln -sf libdl.so.1 libdl.so |
||||
|
||||
On some systems (depending on your GCC configuration) it may be |
||||
necessary to do: |
||||
|
||||
cd /usr/lib |
||||
ln -sf /lib/libdl.so . |
||||
|
||||
Finally |
||||
|
||||
ldconfig |
||||
|
||||
|
||||
1.5) My compile of the backend dies complaining about the include file |
||||
dlfcn.h missing |
||||
|
||||
See the answer to question 1.3/1.4. Don't forget that if you are using |
||||
an a.out system you must first have installed the dld package |
||||
(which is not supplied with most a.out systems) to have dlfcn.h |
||||
at all. See Question 1.11. |
||||
|
||||
|
||||
1.6) GCC complains about an ignored option -fpic |
||||
|
||||
Earlier versions of GCC accepted either -fpic or -fPIC. |
||||
It appears that more recent versions (V2.7.2?) require -fPIC. |
||||
If you are using an ELF version of Linux, this can safely be |
||||
ignored as -fPIC is the default. |
||||
|
||||
You can correct this by editing |
||||
src/mk/port/postgres.mk.linux |
||||
|
||||
|
||||
1.7) I get warnings of the form |
||||
warning: cast from pointer to integer of different size |
||||
|
||||
These can safely be ignored |
||||
|
||||
1.8) [SuSE-Linux 4.2] Where is curses and termcap? |
||||
|
||||
SuSE-Linux has ncurses but not curses. Edit src/bin/psql/Makefile and |
||||
Change |
||||
LIBCURSES= -lcurses |
||||
to |
||||
LIBCURSES= -lncurses |
||||
|
||||
SuSE-Linux has the termcap library is in /usr/lib/termcap instead of |
||||
in /usr/lib |
||||
Edit src/bin/psql/Makefile and |
||||
Change |
||||
ifeq ($(PORTNAME), linux) |
||||
LD_ADD += -ltermcap |
||||
else |
||||
to |
||||
ifeq ($(PORTNAME), linux) |
||||
LD_ADD += -L/usr/lib/termcap -ltermcap |
||||
else |
||||
|
||||
In fact, since ncurses uses terminfo rather than termcap, it should |
||||
be possible to change this line to |
||||
LD_ADD += |
||||
since you shouldn't need the termcap library. |
||||
|
||||
1.9) Why do I get problems with ld.so? |
||||
|
||||
If you get problems with ld.so, another library required under |
||||
ELF for dynamic loading, then you have messed up your installation |
||||
or (more likely) upgrade of Linux. |
||||
|
||||
See the answers to Question 1.3/1.4. You may need to install |
||||
ld.so.x.y.z in /lib and run ldconfig. |
||||
|
||||
The most recent stable release of the ld package is 1.7.14 |
||||
At the time of writing, 1.8.x versions of ld are experimental. |
||||
|
||||
1.10) Why do I get `yy_flush_buffer undefined' errors? |
||||
|
||||
This isn't really Linux specific, but is common on older Linux |
||||
installations. You must have a recent version of flex (2.5.2 or later) |
||||
to compile Postgres95. Note that flex 2.5.3 has a bug: see |
||||
Question 3.4. |
||||
|
||||
1.11) How do I compile Postgres95 on an a.out system? |
||||
|
||||
First, you must install the dld library. This may be obtained |
||||
from Sunsite as: |
||||
Linux/libs/dld.3.2.7.tar.gz |
||||
|
||||
Second, comment out the LINUX_ELF line in src/mk/port/postgres.mk.linux |
||||
|
||||
1.12) Why does make fail with: |
||||
yacc -d /disk2/postgres95/src/backend/parser/gram.y |
||||
make: /usr/bin/make: cannot execute binary file |
||||
|
||||
yacc is generally implemented as a script which invokes bison -y |
||||
For some reason (certain versions of make? certain versions of |
||||
bash?) make is unable to execute this script file. |
||||
|
||||
To correct this, simply edit src/mk/port/postgres.mk.linux |
||||
and, at the end of the file, change: |
||||
# YACC = bison -y |
||||
to |
||||
YACC = bison -y |
||||
|
||||
1.13) What are the references in X11_LIB to libsocket and libnsl in |
||||
src/Makefile.global? |
||||
|
||||
This was a problem in 1.08 (they are Sun Solaris specific). |
||||
It is fixed in 1.09. |
||||
|
||||
1.14) [DEBIAN] Where is libtermcap? |
||||
|
||||
Debian Linux comes without the termcap library and uses ncurses |
||||
(which uses terminfo instead). There is no need to change the |
||||
LIBCURSES variable in src/bin/psql/Makefile since Debian provides |
||||
a link from libncurses to libcurses (unlike SuSE-Linux --- see |
||||
Question 1.8). |
||||
|
||||
Edit src/bin/psql/Makefile and change: |
||||
|
||||
ifeq ($(PORTNAME), linux) |
||||
LD_ADD += -ltermcap |
||||
else |
||||
|
||||
to |
||||
|
||||
ifeq ($(PORTNAME), linux) |
||||
CFLAGS += |
||||
else |
||||
|
||||
|
||||
|
||||
|
||||
---------------------------------------------------------------------- |
||||
Section 2: Compiling accessory programs |
||||
---------------------------------------------------------------------- |
||||
|
||||
2.1) The linker fails to find libX11 when compiling pgtclsh |
||||
|
||||
Modify the src/Makefile.global to change |
||||
X11_LIBDIR = /usr/lib |
||||
to |
||||
X11_LIBDIR = /usr/X11R6/lib |
||||
|
||||
|
||||
---------------------------------------------------------------------- |
||||
Section 3: Runtime Problems |
||||
---------------------------------------------------------------------- |
||||
|
||||
3.1) I get an error reporting _fUnKy_POSTPORT_sTuFf_ undefined when |
||||
running scripts like createuser |
||||
|
||||
This is a bug in V1.06-V1.07 of Postgres and is fixed in V1.08 |
||||
|
||||
3.2) I run postmaster and after that system says 'Bad system call(Core |
||||
dumped)' |
||||
|
||||
This indicates that you have no compiled shared memory support |
||||
into your kernel. You need to recompile the Linux kernel to add this |
||||
feature. |
||||
|
||||
|
||||
3.3) When I try to start the Postmaster, why do I get an error of the form |
||||
Failed Assertion("!(file != 0):(null)", File: |
||||
"/usr/local/postgres95/src/backend/storage/file/fd.c", Line: 257) |
||||
!(file != 0) (0) |
||||
initdb: could not create template database |
||||
initdb: cleaning up. |
||||
|
||||
Your permissions on the file /dev/null are wrong. |
||||
|
||||
ls -l /dev/null should give you something like: |
||||
|
||||
crw-rw-rw- 1 root wheel 2, 2 Oct 8 18:41 /dev/null |
||||
|
||||
Correct the permissions using: |
||||
|
||||
chmod a+rw /dev/null |
||||
|
||||
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. |
||||
|
||||
3.5) Why do I get an error like: |
||||
IpcMemoryCreate: memKey=155356396 , size=760632 , |
||||
permission=384IpcMemoryCreate: shmget(..., create, ...) |
||||
failed: Invalid argument |
||||
|
||||
You haven't build IPC support into your Linux kernel. You |
||||
will have to rebuild the kernel and switch on this option. |
||||
|
||||
|
||||
---------------------------------------------------------------------- |
||||
Section 4: Spurious Problems in Need of Verification |
||||
---------------------------------------------------------------------- |
||||
|
||||
4.1) Why doesn't the postmaster start the first time? |
||||
|
||||
Pawko Olszewski <alder@amg.com.pl> reported a problem that, using |
||||
Linux kernel 2.0.18, the postmaster wouldn't start the first time |
||||
it is run using |
||||
|
||||
postmaster -B 256 |
||||
|
||||
but if run as |
||||
|
||||
postmaster -B 64 |
||||
|
||||
killed and then restarted as |
||||
|
||||
postmaster -B 256 |
||||
|
||||
everything was OK. |
||||
|
||||
I haven't been able to repeat this problem! Nobody else has |
||||
reported anything similar. |
||||
|
||||
|
||||
**************************************************************************** |
||||
Dr. Andrew C.R. Martin, University College London & SciTech Software |
||||
EMAIL: martin@biochem.ucl.ac.uk Tel:(Work) +44(0)171 419 3890 |
||||
URL: http://www.biochem.ucl.ac.uk/~martin (Home) +44(0)1372 275775 |
||||
**************************************************************************** |
||||
|
Loading…
Reference in new issue