]> granicus.if.org Git - postgresql/commitdiff
Add in Andrew's FAQs
authorMarc G. Fournier <scrappy@hub.org>
Mon, 28 Oct 1996 22:11:47 +0000 (22:11 +0000)
committerMarc G. Fournier <scrappy@hub.org>
Mon, 28 Oct 1996 22:11:47 +0000 (22:11 +0000)
doc/IRIX-FAQ [new file with mode: 0644]
doc/Linux-FAQ [new file with mode: 0644]

diff --git a/doc/IRIX-FAQ b/doc/IRIX-FAQ
new file mode 100644 (file)
index 0000000..f06fb3c
--- /dev/null
@@ -0,0 +1,120 @@
+====================================================
+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
+
diff --git a/doc/Linux-FAQ b/doc/Linux-FAQ
new file mode 100644 (file)
index 0000000..04e1964
--- /dev/null
@@ -0,0 +1,400 @@
+====================================================
+Frequently Asked Questions (FAQ) for Postgres95
+Linux 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)   [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.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
+
+        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!
+
+        Install the RPM file in the usual way and off you go!
+
+        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.2. 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.2. 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.
+