From 76adc095714785a0478a23c242a89ba73ea5b448 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 7 Jul 2000 15:41:42 +0000 Subject: Remove HTML FAQ files that are really just text files. --- doc/src/FAQ/FAQ_hpux.html | 172 ----------- doc/src/FAQ/FAQ_irix.html | 492 ------------------------------ doc/src/FAQ/FAQ_linux.html | 704 ------------------------------------------- doc/src/FAQ/FAQ_solaris.html | 168 ----------- 4 files changed, 1536 deletions(-) delete mode 100755 doc/src/FAQ/FAQ_hpux.html delete mode 100755 doc/src/FAQ/FAQ_irix.html delete mode 100644 doc/src/FAQ/FAQ_linux.html delete mode 100644 doc/src/FAQ/FAQ_solaris.html (limited to 'doc/src') diff --git a/doc/src/FAQ/FAQ_hpux.html b/doc/src/FAQ/FAQ_hpux.html deleted file mode 100755 index 8ef9ccd76ec..00000000000 --- a/doc/src/FAQ/FAQ_hpux.html +++ /dev/null @@ -1,172 +0,0 @@ -
-======================================================= -Frequently Asked Questions (FAQ) for PostgreSQL V6.4 -HP-UX Specific -TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ -======================================================= -last updated: Sat Nov 28 16:21:25 EST 1998 - -current maintainer: Tom Lane (tgl@sss.pgh.pa.us) -original author: Tom Lane (tgl@sss.pgh.pa.us) - - -Questions covered here: -1.1) What do I need to install PostgreSQL on HP-UX? -1.2) Anything special about the build/install procedure? -1.3) yacc dies trying to process src/backend/parser/gram.y. -1.4) Linking the main postgres executable fails, complaining that - there's no "alloca" function. -1.5) OK, it seemed to build and install, but the regression test fails. - - ----------------------------------------------------------------------- -Section 1: Installing PostgreSQL ----------------------------------------------------------------------- - -1.1) What do I need to install PostgreSQL on HP-UX? - -PostgreSQL 6.4 is known to build and pass regression test on HPUX 9.03, -9.05, and 10.20, given appropriate system patch levels and build tools. -It should work on other HPUX 9.* and 10.* releases for Series 700/800 -machines, too. (No one has reported trying it with HPUX 11 yet.) -Since this is a new FAQ, I don't yet have a lot of information about the -exact prerequisites, but I'd appreciate hearing from anyone who fails to -build a working copy, so that we can add more info about exactly what is -needed. - -Aside from PostgreSQL 6.4 or later sources, you will need GNU make -(HP's make will not do), and either GNU gcc or HP's full ANSI C compiler. -You must also get flex (GNU lex) 2.5.4 or later --- all versions of -HP's lex fail on the Postgres lexer files. - -I'd also recommend making sure you are fairly up-to-date on HP patches, -particularly if you are using HPUX 9. At a minimum, if you are on HPUX 9, -you *must* have PHSS_4630 (libm update) or a successor patch; otherwise -Postgres' date/time functions will misbehave. On general principles you -should be current on libc and ld/dld patches, as well as compiler -patches if you are using HP's C compiler (but I don't currently know of -any specific failures due to not having recent patches for these files). -See HP's support websites, such as http://us-support.external.hp.com/, -for free copies of their latest patches. - -PostgreSQL 6.3.2 and earlier required quite a few small tweaks to -install on HPUX, so I recommend you not bother with anything older -than 6.4. - - -1.2) Anything special about the build/install procedure? - -When you run configure, you will want to explicitly select either the -hpux_cc or hpux_gcc template depending on which compiler you plan to -use: - ./configure --with-template=hpux_cc -for HP's C compiler, or - ./configure --with-template=hpux_gcc -for GNU gcc. (If you omit --with-template, configure may either -default to hpux_cc or give up entirely, depending on which HPUX and -PostgreSQL releases you have.) - -You may want to tweak the CFLAGS setting in template/hpux_[g]cc before -you configure; the distributed files contain neither -O nor -g switches, -which is hardly optimal for any situation. I've seen no problems using --O with gcc 2.7.2.*. - -The default install target location is /usr/local/pgsql, which -(particularly on HPUX 10) you might want to change to something under -/opt. If so, use the --prefix switch to configure. - -If you have both HP and GNU C++ compilers in your PATH, keep an eye on -whether configure picks the right one --- you want the HP c++ if you are -using HP C, or g++ if you are using gcc. Mixing HP and GNU compilers -won't work. You may need to provide a --with-CXX=compiler switch to -force configure to pick the matching C++ compiler, or even say ---without-CXX if you have a C++ compiler but it doesn't match the C -compiler you want to use. - -Otherwise the standard build/install procedure described in the -PostgreSQL documentation works fine. - - -1.3) yacc dies trying to process src/backend/parser/gram.y. - -HP's yacc doesn't create its tables large enough to handle the Postgres -grammar (a lot of other vendors' yaccs have this problem too). There -are three possible workarounds: - -1. The quickest answer is just to "touch" src/backend/parser/gram.c -and src/backend/parser/parse.h and repeat the build. Any PostgreSQL -distribution file should have up-to-date copies of those files included, -so you shouldn't need to run yacc on gram.y at all ... but sometimes -gram.y mistakenly has a newer timestamp in the distribution than the -derived files do. - -2. Install "bison" (GNU yacc) and reconfigure. Bison doesn't have a -problem with large grammars. Note this is not the right choice if you -are using HP's cc on HPUX 9 --- see next item. - -3. Increase yacc's table sizes enough to cope. With a pre-6.4 -PostgreSQL grammar, I was able to get HPUX 9's yacc to work by -setting YFLAGS to - -d -Np2000 -Ns3000 -Nm100000 -Nl2000 -Na30000 -Nc10000 -(You can edit YFLAGS either in the template file before running -configure, or in src/Makefile.global afterwards.) Future PostgreSQL -releases might require even larger tables, but this should do for -a starting point. - - -1.4) Linking the main postgres executable fails, complaining that - there's no "alloca" function. - -If you're using HP's cc on HPUX 9, it's right: there's no alloca -function. The only place in PostgreSQL that uses alloca is the parser -(gram.c), and that does so only if it was generated with GNU bison. -Unfortunately the distribution copy of gram.c is made with bison. -There are several possible answers: - - 1. Remake gram.c with HP's yacc (see above item for switch settings). - You might also need to remake src/backend/bootstrap/bootparse.c. - - 2. Build with gcc, which treats alloca as a compiled-in-line function. - - 3. Install HPUX 10, which has alloca. You're gonna have to do that - before Y2K anyway... - - -1.5) OK, it seemed to build and install, but the regression test fails. - -There are several "expected failures" due to differences between HPUX -and the regression test reference platform used by the PostgreSQL group. -A look at the textual differences between the expected and actual -outputs will usually reveal that the differences are minor. You should -expect these differences: - -TEST(S) COMMENTS - -int2, int4: pg_atoi generates a differently worded error - message for integer overflow. - -float8: In 6.4, float8 shows some differences due to - different handling of overflow/underflow errors in - exp() and pow(). This should be fixed in 6.4.1 - and later. - -float8, geometry: Lots of differences in the last digit or two - because of different roundoff errors in floating - arithmetic. Also, HPUX does not distinguish - -0 from 0 during printout, but the reference - platform does. - -horology: HPUX time library does not know about daylight - savings time before 1970, so there are some - places in horology where a time will be shown - in PST instead of PDT. - -In addition, the int8 regression test will fail massively on HPUX 9, -because int8 doesn't actually work on this platform (sprintf/sscanf -don't cope with long long int). Either upgrade to HPUX 10, or don't -use int8 data. - -Any other error is cause for suspicion. In particular, if you see -failures in the datetime test on HPUX 9, you probably forgot to -install the libm patch PHSS_4630 --- see item 1.1 above. -diff --git a/doc/src/FAQ/FAQ_irix.html b/doc/src/FAQ/FAQ_irix.html deleted file mode 100755 index fb7fc0a22e2..00000000000 --- a/doc/src/FAQ/FAQ_irix.html +++ /dev/null @@ -1,492 +0,0 @@ -
-====================================================== -Frequently Asked Questions (FAQ) for PostgreSQL >=V6.1 -IRIX Specific -TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ -====================================================== -last updated: Mon Mar 05 17:00:00 GMT 1998 - -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.5) Can I install PostgreSQL (diff --git a/doc/src/FAQ/FAQ_linux.html b/doc/src/FAQ/FAQ_linux.html deleted file mode 100644 index d89fcc4d8ac..00000000000 --- a/doc/src/FAQ/FAQ_linux.html +++ /dev/null @@ -1,704 +0,0 @@ -) - -*** ./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) - - - - -1.6) The make fails with the following message: - ld32: ERROR 4: Conflicting flag setting: -call_shared - - If gmake fails in .../src/backend while building obj/ACCESS.o - with a message from ld32, you can work around this by using - ld for the LD environment variable rather than cc. - - The problem has been observed under Irix 5.3 when compiling both - Postgres95-1.09 and PostgreSQL-6.2Beta6, but on some systems - these appear to compile with no such problems. - - Fix supplied by Brian Sanders (bsanders@netcom.com, - 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 - -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 - - -1.10) How do I install PostgreSQL V6.3 under Irix 6.x? - - Irix 6.2-6.4 has a bug in ld which mishandles the addresses of - static procedures when object files are assembled into - larger object files using 'ld -r'. This bug has been reported - to Silicon Graphics. - - Depending on your Irix installation you may also encounter - 2 other problems detailed below: Conflict in C standards, - Conflict in library functions. - - a) Solving the ld bug - --------------------- - - One option is to use the Gnu version of ld. Alternatively, - the following patch should be applied as a workaround. - (Supplied by Bob Bruccoleri and modified for - PostgreSQL V6.3 by Lasse Hiller Petersen ) - - Apply the following patch: - -*** ./backend/Makefile.orig Tue Mar 3 15:33:58 1998 ---- ./backend/Makefile Tue Mar 3 15:39:27 1998 -*************** -*** 63,69 **** - global1.description -local1_template1.description - - postgres: $(OBJS) ../utils/version.o -! $(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS) - - $(OBJS): $(DIRS:%=%.dir) - ---- 63,73 ---- - global1.description -local1_template1.description - - 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) - - - - - Lasse configured with ./configure --enable-locale - and modified Makefile.custom to contain: -CC = cc -n32 -LD = ld -n32 - - He reports that the installation without -n32 works fine too, - but the -n32 was required for compatibility with his Perl - installation. His system was an Origin200 running IRIX64 v6.4. - - - b) Conflict in C standards - -------------------------- - - I have found that the following patch is also necessary in order - to prevent a duplicate definition of a Union used for semaphores. - Apply the following patch to: - .../src/makefile/Makefile.irix5: - -*** src/makefiles/Makefile.irix5.orig Thu Mar 5 16:59:58 1998 ---- src/makefiles/Makefile.irix5 Thu Mar 5 17:01:13 1998 -*************** -*** 6,9 **** - %.so: %.o - $(LD) -G -Bdynamic -shared -o $@ $< - -! ---- 6,9 ---- - %.so: %.o - $(LD) -G -Bdynamic -shared -o $@ $< - -! CFLAGS+= -U_NO_XOPEN4 - - i.e. the addition of the line: - CFLAGS+= -U_NO_XOPEN4 - - This is needed to stop the semun union being redefined in - /usr/include/sys/sem.h - - c) Conflict in library functions - -------------------------------- - - In addition, if you have the nsl and crypt libraries these will - conflict with the required definitions. I think that libnsl.a - may be the Netware socket library (or something similar). In - any case, if you have these libraries, they will be added to - Makefile.global and you will need to remove them. - - Thus, you should edit .../src/Makefile.global. Goto (approximately) - line 217 where LDFLAGS= is set and remove -lnsl and -lcrypt - from this line. - - ----------------------------------------------------------------------- -Section 2: Deinstalling PostgreSQL ----------------------------------------------------------------------- - -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 PostgreSQL ----------------------------------------------------------------------- -3.1) How do I compile a C program to create a function for extending - PostgreSQL - - Here is a sample command line: - - cc -I/usr/local/PostgreSQL/include/ -I/usr/local/PostgreSQL/src/backend - -shared -o funcs.so funcs.c - - ----------------------------------------------------------------------------- -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 -
-=======================================================
-Frequently Asked Questions (FAQ) for PostgreSQL >= V6.1
-Linux Specific
-TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
-=======================================================
-last updated: Fri Jun 19 13:35:00 BST 1998
-
-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.23) Why does the compile fail with messages about F_BOOLIN, F_BOOLOUT
- and F_BYTEAIN being undeclared?
-
-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 and are there any other changes needed?
-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-4.4] 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?
-1.15) [REDHAT] Can I get PostgreSQL as an RPM?
-1.16) While trying to compile a development version under Linux, compilation
- fails with a message like:
- In file included from /usr/include/sys/sem.h:8,
- from ipc.c:37:
- /usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
- ....
- 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?
-1.20) How can I optimise for 486 or pentium processors
-1.21) Why do I get strange results with printing times (for example
- in the regression test 'timespan')?
-1.22) Why don't I get any shared libraries for libpq when I compile
- 6.3.2?
-1.23) Why does the compile fail with messages about F_BOOLIN, F_BOOLOUT
- and F_BYTEAIN being undeclared?
-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'
-3.7) Other strange behaviour
-3.8) When PostgreSQL is running when the system is shutdown, Linux
- always fsck's the disk when rebooted.
-3.9) Why does Query 32 in the regression tests take so long?
-3.10) Why do I get funny rounding results in some date/time arithmetic,
- such as
- select '4 hours'::timespan;
- returning '3 hours 59 minutes 60 seconds'?
-
-----------------------------------------------------------------------
-Section 1: Compiling PostgreSQL
-----------------------------------------------------------------------
-
-1.1) What changes do I need to make to src/Makefile.global or
- src/Makefile.custom and are there any other changes needed?
-
- Changes to the makefiles are most easily made by running the
- customize shell script in the src directory which will write a
- Makefile.custom for you.
-
- The only other change you may have to make is to replace
- Flex if you have version 2.5.3 which has a bug which generally
- manifests itself as createuser failing (See Question 3.4)
-
- If you modify the makefiles 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?
-
- This manifests itself as being unable to link with functions
- such as dlopen(), dlclose(), etc. during the last phase of the
- compilation.
-
- 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!
-
- 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
- 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?
-
- This manifests itself as being unable to link with functions
- such as dlopen(), dlclose(), etc. during the last phase of the
- compilation.
-
- 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 distribution and unpack this file
- from the root (/) directory, then do
-
- sh install/doinst.sh
-
- to complete the installation. Follow this with
-
- 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.
-
- 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
-
- 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
-
- 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-4.4] Where is curses and termcap?
-
- SuSE-Linux 4.2 has ncurses but not curses. 4.4 appears to have both.
- SuSE-Linux also has the termcap library is in /usr/lib/termcap
- instead of in /usr/lib.
-
- PostgreSQL (up to V6.0)
- -----------------------
- Set the value of CURSES_LIB in src/Makefile.custom to -lncurses
- (or do this through the customize script).
- Add the following line to src/Makefile.custom:
-
- LDADD_BE+= -L/usr/lib/termcap
-
- You may need to edit src/bin/psql/Makefile and change:
- ifeq ($(PORTNAME), linux)
- LD_ADD+=
- to:
- ifeq ($(PORTNAME), linux)
- LD_ADD+= -ltermcap
-
- PostgreSQL (V6.1)
- -----------------
- The configure script doesn't know to look in /usr/lib/termcap for
- the termcap library, so you should specify this as one of the
- library directories when asked for additional directories to
- search.
-
- 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). (Alternatively, you can modify
- src/Makefile.custom before running configure.)
-
- Some versions of SuSE provide only ncurses, so you may need
- to force use of ncurses rather than curses by changing
- -lcurses to -lncurses. (Reported true for SuSE 5.1)
-
-
-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
- (ftp://sunsite.unc.edu/pub/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+=
-
-
-1.15) [REDHAT] Can I get PostgreSQL as an RPM?
-
- Yes! Michal Mosiewicz
- (http://www.pdi.lodz.pl/~mimo) has kindly put together an RPM
- for PostgreSQL V6.0 on Intel architectures which he has uploaded to
- ftp://ftp.redhat.org/pub/Incoming/Postgres-6.0-1.i386.rpm
-
- This is a pre-compiled version, the source RPM is on its
- was as I write (3rd Feb 1997).
-
-1.16) While trying to compile a development version under Linux, compilation
- fails with a message like:
- In file included from /usr/include/sys/sem.h:8,
- from ipc.c:37:
- /usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
- ....
- make: *** [ipc.o] Error 1
-
- The problem is that Linux provides no prototypes for these
- inline functions. The solution is to go into the
- .../src/backend/storage/ipc directory and edit the Makefile.
- Change the line
- CFLAGS+=$(INCLUDE_OPT)
- to
- CFLAGS+=$(INCLUDE_OPT) -Wno-error
-
- Do the same in the ../src/backend/storage/lmgr directory.
-
-1.17) When compiling postgres, gcc reports signal 11 and aborts.
- More specifically:
- gcc: Internal compiler error: program cc1 got fatal
- signal 11
-
- This may be a hardware/memory problem. PortgreSQL is a big
- program, and large gcc compilations (such as building
- PostgreSQL or bebuilding the kernel) stress memory like
- few other programs, resulting in errors that do not occur
- in normal operation. Lesser operating systems are also
- unlikely to stress the hardware to this degree so you
- may never see any problems under DOS/Windows.
-
- More information on this problem at:
- http://www.bitwizard.nl/sig11
-
- From this Sig11 FAQ, there appears to be a specific problem
- with Redhat 5.0 gcc running on Cyrix processors. See the
- URL above for more details!
-
-1.18) Can I install 6.1.1 under MkLinux?
-
- Tatsuo Ishii has done this under
- 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
-
-1.20) How can I optimise for 486 or pentium processors
-
- The default compiler flags perform no optimisation for 486
- or Pentium processors. To add such optimisation, edit
- Makefile.custom and add:
-
- CFLAGS+= -m486
-
- or (for the new compilers that most people are not yet running)
-
- CFLAGS+= -mpentium
- or
- CFLAGS+= -mpentiumpro
-
-1.21) Why do I get strange results with printing times (for example
- in the regression test 'timespan')?
- The times are appearing as: '4 hours 59 mins 60.00 secs'
- instead of '5 hours'
-
- This is a problem with the glibc2 library which comes with
- Redhat 5.0. Update your glibc to the latest RedHat version
- for v5.0/hurricane. Anything prior to glibc-2.0.7 is likely
- to have the problem.
-
-1.22) Why don't I get any shared libraries for libpq when I compile
- 6.3.2?
-
- There was some last minute breakage of the Linux configuration for
- v6.3.2. Look in ftp://postgresql.org/pub/patches/ for a few fix-ups,
- including a linux_elf patch.
-
-1.23) Why does the compile fail with messages about F_BOOLIN, F_BOOLOUT
- and F_BYTEAIN being undeclared?
-
- The actual messages are something like:
-
- -I/usr/include/readline -O2 -Wall -Wmissing-prototypes -I..
- -Wno-error -c bootstrap.c -o bootstrap.o
- bootstrap.c:160: `F_BOOLIN' undeclared here (not in a function)
- bootstrap.c:160: initializer element for `Procid[0].inproc' is not
- constant
- bootstrap.c:160: `F_BOOLOUT' undeclared here (not in a function)
- bootstrap.c:160: initializer element for `Procid[0].outproc' is not
- constant
- bootstrap.c:161: `F_BYTEAIN' undeclared here (not in a function)
- bootstrap.c:161: initializer element for `Procid[1].inproc' is not
- constant
-
- This is tricky unless you know why it happens, as these constants
- don't seem to be defined anywhere.
-
- The solution is to make sure that cpp is included in your path
- before you start the make.
-
- On Redhat 5.1, cpp is in /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3
-
-
-
-----------------------------------------------------------------------
-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, upgrade to V2.5.4
- or apply a patch to V2.5.3 which is supplied in doc/README.flex
- You may obtain V2.5.4 from
- ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz
-
-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 -v
-
- Alternatively, (and if you don't have root access), you may
- use the LD_LIBRARY_PATH environment variable.
-
- The LD_LIBRARY_PATH variable contains a colon separated list of
- paths to be searched for shared libraries. This list is
- searched before the libraries specified by ldconfig.
-
- Therefore under Bash, you would do something like:
- export LD_LIBRARY_PATH='PathToPGSQL'/lib
- or, using tcsh
- setenv LD_LIBRARY_PATH 'PathToPGSQL'/lib
- replacing 'PathToPGSQL' with the appropriate path to your top level
- PostgreSQL directory
-
- Note that the ldd command can be used on a dynamically linked
- executable to list the paths to all the shared libraries upon
- which the executable depends.
-
-
-3.7) Other strange behaviour
-
- I'm not sure what the symptoms might be except for nothing
- working properly, but it has been pointed out that one needs
- to be careful that the dynamic loader loads the correct version
- of the libpq library. If you have old versions lying around
- in your library path (for example in /usr/lib) these may get
- loaded instead of the new version you intended to load. Make
- sure you get them out of the way and look at Q3.6 for
- details of loading libraries.
-
-3.8) When PostgreSQL is running when the system is shutdown, Linux
- always fsck's the disk when rebooted.
-
- There have been some reports of this happening and it seems
- to be a result of running PostgreSQL from /etc/inittab as
- suggested in the INSTALL document.
-
- You are therefore recommended to start the postmaster from an
- rc script. Under a Slackware-like release, you would modify
- /etc/rc.d/rc.local to start the postmaster. Under a RedHat-like
- release you should create a SysV style script in
- /etc/rc.d/rc3.d based on the /etc/rc.d/init.d skeleton file.
-
- There's a sample file in contrib/linux/postgres.init
-
- Here's another sample file supplied by John Robinson
- which you should modify as needed:
-
-#!/bin/sh
-#
-# postgreSQL.init This shell script takes care of starting and stopping
-# the PostgreSQL postmaster.
-#
-
-# Source function library.
-. /etc/rc.d/init.d/functions
-
-# Source networking configuration.
-. /etc/sysconfig/network
-
-# Check that networking is up.
-[ ${NETWORKING} = "no" ] && exit 0
-
-# See how we were called.
-case "$1" in
- start)
- # Start daemons.
- echo -n "Starting postgres Postmaster daemon:"
- if [ -z "`pidofproc postmaster`" ]
- then
- su postgres -c "/usr/local/pgsql/bin/postmaster -D /home/postgreSQL/data -p 5432 &"
- echo -n " postmaster"
- else
- echo -n " (already running)"
- fi
- echo
- touch /var/lock/subsys/postgres
- ;;
- stop)
- # Stop daemons.
- echo -n "Shutting down postgres Postmaster daemon: "
- killall -TERM postmaster 2>/dev/null
- killall -TERM postgres 2>/dev/null
- echo
- rm -f /var/lock/subsys/postgres
- ;;
- *)
- echo "Usage: postgres {start|stop}"
- exit 1
-esac
-
-exit 0
-
-
-
-3.9) Why does Query 32 in the regression tests take so long?
-
- This is due to a bug in regression scripts which only happens
- on linux boxes. There are two workarounds as far as I know
- (information from Tatsuo Ishii ):
-
- 1. change following in regress.sh:
- time postgres -texecutor -tplanner -Q bench < bench.sql
- to:
- postgres -texecutor -tplanner -Q bench < bench.sql
-
- 2. after running the test, remove a line at the very end of
- bench.out something like:
- 85.86user 114.47system 4:49.20elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k
- then type:
- sh ./perquery < bench.out > & bench.out.perquery
-
-
-
-3.10) Why do I get funny rounding results in some date/time arithmetic,
- such as
- select '4 hours'::timespan;
- returning '3 hours 59 minutes 60 seconds'?
-
- You are running the new glibc2 libraries and have a version earlier than
- 2.0.7. It is a math rounding problem in the library. Upgrade your library.
-----------------------------------------------------------------------------
-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
-
diff --git a/doc/src/FAQ/FAQ_solaris.html b/doc/src/FAQ/FAQ_solaris.html
deleted file mode 100644
index dc456b46120..00000000000
--- a/doc/src/FAQ/FAQ_solaris.html
+++ /dev/null
@@ -1,168 +0,0 @@
--======================================================= -Frequently Asked Questions (FAQ) for PostgreSQL V6.5 -Sun Solaris Specific -TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ -======================================================= -last updated: Thu Sep 21 9:30:00 CET 1999 - -current maintainer: Marc Liyanage (liyanage@access.ch) -original author: Marc Liyanage (liyanage@access.ch) - - - -Contents: - -1.1) What tools do I need to build and install PostgreSQL on Solaris? -1.2) What else do I have to do before building PostgreSQL? -1.3) Why am I getting "IpcMemoryCreate" errors when I try - to run postmaster? -1.4) Why am I getting "Can't tell what username to use" errors - when I try to run initdb? - -A) Contributors - - - -Notes: - -- The commands given here are for the bash shell. If you use - a different shell, you'll have to change the commands accordingly, - especially these regarding environment variables. - -- These instructions are written for Solaris 2.6 - - - ----------------------------------------------------------------------- -Section 1: Building and Installing PostgreSQL ----------------------------------------------------------------------- - -1.1) What tools do I need to build and install PostgreSQL on Solaris? - -You will need - -- GNU flex 2.5.4 or better (the lex included in Solaris 2.6 won't work) -- GNU bison (the yacc included in Solaris 2.6 won't work) -- GNU zip (gzip and especially zcat for installing the docs) -- GNU make -- GNU readline library - -We also used - -- GNU cc (gcc 2.8.1) - -If you like Solaris packages, you can find these tools here: -http://www.sunfreeware.com - -If you prefer sources, look here: -http://www.gnu.org/order/ftp.html - - - - -1.2) What else do I have to do before building PostgreSQL? - -Shared libraries ----------------- - -The default installation procedure puts the shared libraries -into "/usr/local/pgsql/lib", but the dynamic loader won't -find them there at runtime unless you use some hack like -symlinking the libraries in /usr/lib or setting LD_LIBRARY_PATH -for every user that will use the DB system. - -The first time you'll encounter this problem is usually when -running "initdb". It will fail with something like - - ld.so.1: pg_id: fatal: libpq.so: open failed: No such file or directory - -We recommend that you store the path of the directory containing -the libraries in the environment variable LD_RUN_PATH *before* -starting the build. This will cause the linker to store this -path in the binaries. - -Do this: - -# export LD_RUN_PATH=/usr/local/pgsql/lib - -(or wherever you choose to put the libraries) - -There is some good information about this here: -http://www.visi.com/~barr/ldpath.html - - -zcat ----- - -If - -- both the original solaris zcat as well as the recommended - GNU zcat are installed on the system (e.g. the former in /usr/bin and - the latter in /usr/local/bin) and -- configure (or "which zcat") finds the wrong one - -then configure needs to be told where GNU zcat can be found. - -Failure to do so will cause configure to select the wrong one -and the "gmake install" command in the "doc" subdirectory -(step 12 in the INSTALL file) will fail because Solaris -zcat cannot handle the .gz compressed documentation files. - -To fix this, type - -# export GZCAT=/usr/local/bin/zcat - -(or wherever your GNU zcat lives) - -before running configure. - - - - -1.3) Why am I getting "IpcMemoryCreate" errors when I try - to run the postmaster? - -(See also 3.4 in the main FAQ file) - -Under Solaris 2.6 and probably others, the default shared memory -maximum segment size kernel parameter is set too low. The solution -is to put something like the following line into /etc/system and -reboot the system. - -set shmsys:shminfo_shmmax=0x7fffffff - -Excellent info regarding shared memory under Solaris can be found here: -http://www.sunworld.com/swol-09-1997/swol-09-insidesolaris.html - - - - -1.4) Why am I getting "Can't tell what username to use" errors - when I try to run initdb? - -Put something like this into the .bash_profile startup script -of the postgres user (see also step 17 in the INSTALL file): - -export USER=postgres - - - - - - - - - ----------------------------------------------------------------------- -Section A: Contributors ----------------------------------------------------------------------- - -- Jose Luis Rodriguez Garcia - Suggested to change the shmmax parameter in 1.3 from 0xffffffff to 0x7fffffff - because the value is a signed integer in Solaris versions prior to 2.6. - - - -- -- cgit v1.2.3