diff options
author | Bruce Momjian | 1997-10-03 15:38:31 +0000 |
---|---|---|
committer | Bruce Momjian | 1997-10-03 15:38:31 +0000 |
commit | 4c4f11896a4e8eaad9d144b33435da0a479f8e86 (patch) | |
tree | 2bdd061518dbf2a713709fc056506b0a3670177a /doc/FAQ-Linux | |
parent | 83cd375cd29060286a55c4667737099068db00e2 (diff) |
Update machine-specific FAQs. Too late.
Diffstat (limited to 'doc/FAQ-Linux')
-rw-r--r-- | doc/FAQ-Linux | 402 |
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 - |