summaryrefslogtreecommitdiff
path: root/doc/FAQ-Linux
diff options
context:
space:
mode:
authorBruce Momjian1997-10-03 15:38:31 +0000
committerBruce Momjian1997-10-03 15:38:31 +0000
commit4c4f11896a4e8eaad9d144b33435da0a479f8e86 (patch)
tree2bdd061518dbf2a713709fc056506b0a3670177a /doc/FAQ-Linux
parent83cd375cd29060286a55c4667737099068db00e2 (diff)
Update machine-specific FAQs. Too late.
Diffstat (limited to 'doc/FAQ-Linux')
-rw-r--r--doc/FAQ-Linux402
1 files changed, 0 insertions, 402 deletions
diff --git a/doc/FAQ-Linux b/doc/FAQ-Linux
deleted file mode 100644
index 1d0f91f4735..00000000000
--- a/doc/FAQ-Linux
+++ /dev/null
@@ -1,402 +0,0 @@
-=====================================================
-Frequently Asked Questions (FAQ) for PostgresSQL V6.0
-Linux Specific
-TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
-=====================================================
-last updated: Wed Jan 29 20:16:00 GMT 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
-
-This file is divided approximately as follows:
-1.*) Installing PostgreSQL
-2.*) Compiling accessory programs
-3.*) Runtime Problems
-
-
-Questions answered:
-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.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 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.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/PostgreSQL/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
-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?
-
-----------------------------------------------------------------------
-Section 1: Compiling PostgreSQL
-----------------------------------------------------------------------
-
-1.1) What changes do I need to make to src/Makefile.global or
- src/Makefile.custom?
-
- These changes 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:
- PORTNAME= linux
-
- You will also need to change the following to match your own
- installation:
- 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 ensure you do not activate the readline options
- in src/Makefile.global or src/Makefile.custom 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/Makefile.global and
- changing CFLAGS_SL
-
-
-1.7) I get warnings of the form
- warning: cast from pointer to integer of different size
-
- These were seen in earlier versions of Postgres95 and could
- safely be ignored. PostgreSQL V6.0 should compile with no warnings
- except those related to system header files (which can also
- be safely ignored).
-
-1.8) [SuSE-Linux 4.2] 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 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:
-
- 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:
- ifeq ($(PORTNAME), linux)
- LD_ADD+=
-
-
-
-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 PostgreSQL. Note that flex 2.5.3 has a bug: see
- Question 3.4.
-
-1.11) How do I compile PostgreSQL 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, add the following line to src/Makefile.custom:
- LINUX_ELF=
- (or use the customize script)
-
-1.12) Why does make fail with:
- yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
- make: /usr/bin/make: cannot execute binary file
-
- This was a problem in earlier versions of Postgres95. The default
- for PostgreSQL is to use bison -y rather than yacc.
-
- 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 and 6.0
-
-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
- CURSES_LIB variable in src/bin/psql/Makefile since Debian provides
- a link from libncurses to libcurses (unlike SuSE-Linux --- see
- Question 1.8).
-
- You may need to edit src/bin/psql/Makefile and comment out the
- change:
- ifeq ($(PORTNAME), linux)
- LD_ADD+= -ltermcap
- to:
- ifeq ($(PORTNAME), linux)
- LD_ADD+=
-
-
-----------------------------------------------------------------------
-Section 2: Compiling accessory programs
-----------------------------------------------------------------------
-
-2.1) The linker fails to find libX11 when compiling pgtclsh
-
- Add the following to src/Makefile.custom
- 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
- and above.
-
-3.2) I run postmaster and after that system says 'Bad system call(Core
- dumped)'
-
- This indicates that you have not 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/PostgreSQL/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.
-
-3.6) Why does psql fail with:
- psql: can't load library 'libpq.so.1'
-
- Psql has been compiled to link dynamically with the libpq
- library.
-
- To solve this, you should log in as root and edit the file
- /etc/ld.so.conf
- 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
-