-=====================================================
-Frequently Asked Questions (FAQ) for PostgreSQL V6.1
+<PRE>
+======================================================
+Frequently Asked Questions (FAQ) for PostgreSQL >=V6.1
IRIX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
-=====================================================
-last updated: Fri Sep 19 11:51:00 BST 1997
+======================================================
+last updated: Mon Dec 04 10:20: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.6) The make fails with the following message:
- ld32: ERROR 4: Conflicting flag setting: -call_shared
++1.9) Why does IRIX5 lex fail with PostgreSQL 6.2.1?
This file is divided approximately as follows:
1.*) Installing PostgreSQL
1.5) Can I install PostgreSQL under Irix 6.x?
1.6) The make fails with the following message:
ld32: ERROR 4: Conflicting flag setting: -call_shared
+1.7) Why won't it link? (Problems with lorder)
+1.8) I have major problems with IRIX 6!
+1.9) Why does lex fail with PostgreSQL 6.2.1?
2.1) Why can't I move the executable files?
3.1) How do I compile a C program to create a function for extending
PostgreSQL
brian@fresnelsoft.com)
+1.7) Why won't it link? (Problems with lorder)
+
+ According to the IRIX man pages, lorder is useless, but harmless
+ under IRIX. However, it has caused problems for some people
+ using both IRIX 6.2.
+
+ The solution is to add the following line to
+ .../src/makefiles/Makefile.irix5
+
+ MK_NO_LORDER=true
+
+
+1.8) I have major problems with IRIX 6!
+
+ The following is quoted directly from Bob Bruccoleri <bruc@bms.com>
+
+There is a really nasty loader bug in the compiler system (7.1)
+on Irix 6.x, and the error that Lasse Petersen is the result of it.
+Here is the original message. I don't know if all the changes have been
+folded into the current release.
+
+Date: Fri, 06 Jun 1997 17:12:20 -0400 (EDT)
+From: bruc@bms.com (Robert Bruccoleri)
+Subject: [PORTS] Patches for Irix 6.4
+
+I have worked out how to compile PostgreSQL on Irix 6.4 using the -n32 compiler
+mode and version 7.1 of the C compiler. (The n32 compiler use 32 bits addressing,
+but allows access to all the instructions in the MIPS4 instruction set.)
+There were several problems:
+
+1) The ld command is not referenced as a macro in all the Makefiles. On
+this platform, you have to include -n32 on all the ld commands. Makefiles
+were changed as needed.
+
+2) There is a bug in "ld" which mishandles the addresses of static procedures
+when object files are assembled into larger object files using "ld -r".
+Because of this, I put a hack into src/backend/Makefile to avoid all the
+SUBSYS.o files and just link all the objects. I have contacted SGI about the
+problem, and hopefully, it will be fixed in the near future.
+
+3) Lots of warnings are generated from the compiler. Since the regression
+tests worked OK, I didn't attempt to fix them. If anyone wants the compilation
+log, please let me know, and I'll email it to you.
+
+The version of postgresql was 970602. Here is Makefile.custom:
+
+CUSTOM_COPT = -O2 -n32
+MK_NO_LORDER = 1
+LD = ld -n32
+CC += -n32
+
+Here are the patches:
+
+*** ./backend/access/Makefile.orig Sun Nov 10 00:00:15 1996
+- --- ./backend/access/Makefile Tue Jun 3 10:22:32 1997
+***************
+*** 8,13 ****
+- --- 8,16 ----
+ #
+ #-------------------------------------------------------------------------
+
++ SRCDIR = ../..
++ include ../../Makefile.global
++
+ OBJS = common/SUBSYS.o gist/SUBSYS.o hash/SUBSYS.o heap/SUBSYS.o \
+ index/SUBSYS.o rtree/SUBSYS.o nbtree/SUBSYS.o transam/SUBSYS.o
+
+
+*** ./backend/bootstrap/Makefile.orig Fri Apr 18 06:00:23 1997
+- --- ./backend/bootstrap/Makefile Tue Jun 3 10:23:59 1997
+***************
+*** 38,44 ****
+ all: SUBSYS.o
+
+ SUBSYS.o: $(OBJS)
+! ld -r -o SUBSYS.o $(OBJS)
+
+ # bootstrap.o's dependency on bootstrap_tokens.h is computed by the
+ # make depend, but we state it here explicitly anyway because
+- --- 38,44 ----
+ all: SUBSYS.o
+
+ SUBSYS.o: $(OBJS)
+! $(LD) -r -o SUBSYS.o $(OBJS)
+
+ # bootstrap.o's dependency on bootstrap_tokens.h is computed by the
+ # make depend, but we state it here explicitly anyway because
+
+*** ./backend/Makefile.orig Thu May 22 00:00:15 1997
+- --- ./backend/Makefile Thu Jun 5 16:47:27 1997
+***************
+*** 54,60 ****
+ all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
+
+ postgres: $(OBJS) ../utils/version.o
+! $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
+
+ $(OBJS): $(DIRS:%=%.dir)
+
+- --- 54,64 ----
+ all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
+
+ postgres: $(OBJS) ../utils/version.o
+! # $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
+! -rm -f *.o
+! find . -name "*.o" -exec cp \{\} . \;
+! rm -f SUBSYS.o
+! $(CC) -o postgres *.o ../utils/version.o $(LDFLAGS)
+
+ $(OBJS): $(DIRS:%=%.dir)
+
+***************
+*** 116,122 ****
+ install: $(LIBDIR) $(BINDIR) $(HEADERDIR) postgres $(POSTGRES_IMP) fmgr.h\
+ global1.bki.source local1_template1.bki.source \
+ libpq/pg_hba.conf.sample optimizer/geqo/pg_geqo.sample
+!
+ $(INSTALL) $(INSTL_EXE_OPTS) postgres $(BINDIR)/postgres
+ ifeq ($(MAKE_EXPORTS), true)
+ $(INSTALL) $(INSTLOPTS) $(POSTGRES_IMP) $(LIBDIR)/$(POSTGRES_IMP)
+- --- 120,126 ----
+ install: $(LIBDIR) $(BINDIR) $(HEADERDIR) postgres $(POSTGRES_IMP) fmgr.h\
+ global1.bki.source local1_template1.bki.source \
+ libpq/pg_hba.conf.sample optimizer/geqo/pg_geqo.sample
+!
+ $(INSTALL) $(INSTL_EXE_OPTS) postgres $(BINDIR)/postgres
+ ifeq ($(MAKE_EXPORTS), true)
+ $(INSTALL) $(INSTLOPTS) $(POSTGRES_IMP) $(LIBDIR)/$(POSTGRES_IMP)
+
+*** ./backend/optimizer/Makefile.orig Wed Feb 19 12:00:34 1997
+- --- ./backend/optimizer/Makefile Tue Jun 3 10:39:47 1997
+***************
+*** 8,13 ****
+- --- 8,16 ----
+ #
+ #-------------------------------------------------------------------------
+
++ SRCDIR= ../..
++ include ../../Makefile.global
++
+ all: submake SUBSYS.o
+
+ OBJS = path/SUBSYS.o plan/SUBSYS.o prep/SUBSYS.o util/SUBSYS.o geqo/SUBSYS.o
+
+*** ./backend/libpq/pqcomprim.c.orig Mon May 26 00:00:23 1997
+- --- ./backend/libpq/pqcomprim.c Fri Jun 6 16:02:24 1997
+***************
+*** 32,40 ****
+ # define hton_l(n) (ntoh_l(n))
+ # else /* BYTE_ORDER != BIG_ENDIAN */
+ # if BYTE_ORDER == PDP_ENDIAN
+! # #error PDP_ENDIAN macros not written yet
+ # else /* BYTE_ORDER != anything known */
+! # #error BYTE_ORDER not defined as anything understood
+ # endif /* BYTE_ORDER == PDP_ENDIAN */
+ # endif /* BYTE_ORDER == BIG_ENDIAN */
+ #endif /* BYTE_ORDER == LITTLE_ENDIAN */
+- --- 32,40 ----
+ # define hton_l(n) (ntoh_l(n))
+ # else /* BYTE_ORDER != BIG_ENDIAN */
+ # if BYTE_ORDER == PDP_ENDIAN
+! # error PDP_ENDIAN macros not written yet
+ # else /* BYTE_ORDER != anything known */
+! # error BYTE_ORDER not defined as anything understood
+ # endif /* BYTE_ORDER == PDP_ENDIAN */
+ # endif /* BYTE_ORDER == BIG_ENDIAN */
+ #endif /* BYTE_ORDER == LITTLE_ENDIAN */
+
+*** ./backend/storage/Makefile.orig Sun Nov 10 00:01:06 1996
+- --- ./backend/storage/Makefile Tue Jun 3 10:41:29 1997
+***************
+*** 8,13 ****
+- --- 8,16 ----
+ #
+ #-------------------------------------------------------------------------
+
++ SRCDIR= ../..
++ include ../../Makefile.global
++
+ all: submake SUBSYS.o
+
+ OBJS = buffer/SUBSYS.o file/SUBSYS.o ipc/SUBSYS.o large_object/SUBSYS.o \
+
+
+
+
+1.9) Why does lex fail with PostgreSQL 6.2.1?
+
+ IRIX 5.3 lex has been reported to fail in
+ postgresql-6.2.1/src/backend/parser with the error:
+
+ lex scan.l
+ "scan.l":line 86: Error: Invalid request %x xc
+ gmake[2]: *** [scan.c] Error 1
+
+ The answer is to use GNU flex 2.5.4 or later. Use the command
+ flex --version
+ to check you have a new enough version of flex
+
+
----------------------------------------------------------------------
Section 2: Deinstalling PostgreSQL
----------------------------------------------------------------------
EMAIL: (Work) martin@biochem.ucl.ac.uk (Home) andrew@stagleys.demon.co.uk
URL: http://www.biochem.ucl.ac.uk/~martin
Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775
+</PRE>
+<PRE>
=======================================================
Frequently Asked Questions (FAQ) for PostgreSQL >= V6.1
Linux Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
=======================================================
-last updated: Wed Oct 01 11:45:00 BST 1997
+last updated: Thu Dec 15 12:05: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):
-+3.9) Why does Query 32 in the regression tests take so long?
+*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.19) Why does make exit or crash?
This file is divided approximately as follows:
make: *** [ipc.o] Error 1
1.17) When compiling postgres, gcc reports signal 11 and aborts.
1.18) Can I install 6.1.1 under MkLinux?
+1.19) Why does make exit or crash?
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
Install the RPM file in the usual way and off you go!
+ NOTE! You will have to re-run configure and do a make clean
+ after installing the library and before recompiling.
+
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
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
+ a more recent Slackware distribution and unpack this file
from the root (/) directory, then do
sh install/doinst.sh
ldconfig
+ NOTE! You will have to re-run configure and do a make clean
+ after installing the library and before recompiling.
+
If you want to install manually, you must first install the file
dlfcn.h in /usr/include.
ldconfig
+ NOTE! You will have to re-run configure and do a make clean
+ after installing the library and before recompiling.
+
1.5) My compile of the backend dies complaining about the include file
dlfcn.h missing
If this doesn't work (I don't have SuSE to verify that it does)
then after running configure, you need to edit
src/Makefile.global and add -ltermcap to the LDFLAGS line
- (after -lreadline).
+ (after -lreadline). (Alternatively, you can modify
+ src/Makefile.custom before running configure.)
- You may also wish to force use of ncurses rather than curses by
- changing -lcurses to -lncurses.
+ Some versions of SuSE provide only ncurses, so you may need
+ to force use of ncurses rather than curses by changing
+ -lcurses to -lncurses.
1.9) Why do I get problems with ld.so?
MkLinux DR2.1 update2 after a small patch available from:
ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz
+1.19) Why does make exit or crash?
+
+ There have been a couple of reports of gmake either just
+ exiting early or seg faulting. The latter problem was reported
+ with gmake 3.74 - upgrading to 3.76.1 solved the problem.
+ However, 3.74 is known to work fine in other people's setups.
+ In short, try upgrading gmake to the latest version you can
+ find before reporting this as a problem
+
----------------------------------------------------------------------
Section 2: Compiling accessory programs
EMAIL: (Work) martin@biochem.ucl.ac.uk (Home) andrew@stagleys.demon.co.uk
URL: http://www.biochem.ucl.ac.uk/~martin
Tel: (Work) +44(0)171 419 3890 (Home) +44(0)1372 275775
+</PRE>