====================================================
Frequently Asked Questions (FAQ) for Postgres95
IRIX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
====================================================
last updated:           Fri Oct 11 14:45: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):
+3.1)   How do I compile a C program to create a function for extending
        Postgres95


This file is divided approximately as follows:
0.*)    Bugs in Postgres95 V1.08
1.*)    Installing Postgres95
2.*)    Uninstalling Postgres95
3.*)    Extending Postgres95


Questions answered:
0.1)    What bugs do I need to fix before Postgres95 will compile
        under Irix?
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 0:      Bugs in Postgres95 V1.08
----------------------------------------------------------------------
0.1)    What bugs do I need to fix before Postgres95 will compile
        under Irix?

        a) Fix the bug in src/Makefile.global:
           Change
                # Globally pass PORTNAME
                CFLAGS+= -DPORTNAME_$(PORTNAME)
                CFLAGS += -I ../../backend/port/$(PORTNAME)
           to 
                # Globally pass PORTNAME
                CFLAGS+= -DPORTNAME_$(PORTNAME)
                CFLAGS += -I../../backend/port/$(PORTNAME)

           (i.e. remove the space after the -I)


        b) Add the missing prototype to src/bin/pg_dump/pg_dump.h
           After the line
                extern int findLastBuiltinOid();
           add
                extern void setMaxOid(FILE *fout);


----------------------------------------------------------------------
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?

        These are Sun Solaris specific and shouldn't be in Makefile.global
        The compile (including pgtclsh) seems to go OK even though 
        these don't exist...

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
****************************************************************************