mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Make sure Irix/Linux FAQs are updated
This commit is contained in:
216
doc/FAQ_Irix
216
doc/FAQ_Irix
@ -1,17 +1,17 @@
|
||||
=====================================================
|
||||
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
|
||||
@ -28,6 +28,9 @@ Questions answered:
|
||||
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
|
||||
@ -142,6 +145,206 @@ Section 1: Installing 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
|
||||
----------------------------------------------------------------------
|
||||
@ -181,3 +384,4 @@ Dr. Andrew C.R. Martin University College London
|
||||
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>
|
||||
|
Reference in New Issue
Block a user