Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2000-08-26 19:34:24 +0000
committerPeter Eisentraut2000-08-26 19:34:24 +0000
commit09b1576430b80b33919e884c5bbc2c0abfe0af64 (patch)
treeb5802a904bb6970b7f76caf67c84f10c31225374 /doc/FAQ_Linux_German
parented0b3f2d99b8b8d20dd777bf58a974a9a095a2c7 (diff)
Update platform FAQs
Diffstat (limited to 'doc/FAQ_Linux_German')
-rw-r--r--doc/FAQ_Linux_German752
1 files changed, 0 insertions, 752 deletions
diff --git a/doc/FAQ_Linux_German b/doc/FAQ_Linux_German
deleted file mode 100644
index 5f95280d9b8..00000000000
--- a/doc/FAQ_Linux_German
+++ /dev/null
@@ -1,752 +0,0 @@
-
- H�ufig gestellte Fragen (FAQ) zu PostgreSQL >= V6.1, Linux-spezifisch
-
- Bitte Zusammen mit der normalen FAQ lesen!
- _________________________________________________________________
-
- Letztes Update des Originals: Tue Aug 10 11:15:00 BST 1999
- Original-FAQ gepflegt durch: Andrew C.R. Martin
- (martin@biochem.ucl.ac.uk)
- Original Autor: Andrew C.R. Martin (martin@biochem.ucl.ac.uk)
-
- Letztes Update der �bersetzung: Mo, 23. August 1999, 10:00 CEST
- �bersetzer: Karsten Schulz (schulz@linux-systemhaus.de)
- _________________________________________________________________
-
- �nderungen in dieser Version (* = ge�ndert, + = neu, - = entfernt)
-
- +3.11) Wieso bekomme ich einen Fehler wie: IpcMemoryCreate: shmget
- failed (Permission denied)?
-
-Diese Datei ist ungef�hr wie folgt unterteilt:
-
- 1.*) PostgreSQL kompilieren
- 2.*) Hilfs- und Zusatzprogramme kompilieren
- 3.*) Laufzeit Probleme
-
-Beantwortete Fragen:
-
-
-
- PostgreSQL kompilieren
-
- 1.1) Welche Anpassungen m�ssen in src/Makefile.global oder
- src/Makefile.custom gemacht werden und gibt es weitere notwendige
- �nderungen?
- 1.2) Warum habe ich Probleme mit der fehlenden Bibliothek libreadline?
- 1.3) [REDHAT] Warum habe ich Probleme mit der fehlenden Bibliothek
- libdl und der fehlenden dlfcn.h?
- 1.4) [SLACKWARE 3.1] Warum habe ich Probleme mit der fehlenden
- Bibliothek libdl und der fehlenden dlfcn.h?
- 1.5) Die Kompilierung des Backends schl�gt mit der Meldung fehl, da�
- die Include-Datei dlfcn.h fehlen w�rde.
- 1.6) GCC meldet, da� er die Option -fpic ignorieren w�rde.
- 1.7) Ich bekomme Warnungen, wie: warning: cast from pointer to integer
- of different size
- 1.8) [SuSE-Linux 4.2-5.3] Wo sind curses und termcap?
- 1.9) Warum bekomme ich Probleme mit ld.so?
- 1.10) Wieso bekomme ich yy_flush_buffer undefined Fehler?
- 1.11) Wie kompiliere ich PostgreSQL auf einem a.out System?
- 1.12) Warum scheitert make mit der Meldung:
- yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y make:
- /usr/bin/make: cannot execute binary file
- 1.13) Was sind die Bez�ge in der Bibliothek X11_LIB zu libsocket und
- libnsl in der Datei src/Makefile.global?
- 1.14) [DEBIAN] Wo ist die Bibliothek libtermcap?
- 1.15) [REDHAT] Kann ich PostgreSQL als RPM-Archiv bekommen?
- 1.16) W�hrend ich versuche eine Entwickler-Version unter Linux zu
- kompilieren, bricht der Vorgang mit folgender Fehlermeldung ab:
- 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) Beim Kompilieren von PostgreSQL bricht der gcc mit einer Signal
- 11 Meldung ab.
- 1.18) Kann ich Version 6.1.1 unter MkLinux installieren?
- 1.19) Warum stoppt make oder bricht sonstwie ab?
- 1.20) Wie kann ich f�r die Prozessoren 486 oder Pentium optimieren?
- 1.21) Wieso bekomme ich seltsame Ergebnisse beim Drucken von Zeiten
- (z.B. beim Regressionstest 'timespan')?
- 1.22) Warum bekomme ich keine shared libraries f�r libpq, wenn ich
- Version 6.3.2 kompiliere?
- 1.23) Warum scheitert der Kompilierungslauf mit Nachrichten, da�
- F_BOOLIN, F_BOOLOUT und F_BYTEAIN nicht deklariert seien?
-
-
- Hilfs- und Zusatzprogramme kompilieren
-
- 2.1) Der Linker findet die Bibliothek libX11 nicht, wenn pgtclsh
- kompiliert werden soll.
-
-
- Laufzeit Probleme
-
- 3.1) Ich bekomme die Fehlermeldung _fUnKy_POSTPORT_sTuFf_ undefined,
- wenn Skripts wie createuser laufen.
- 3.2) Nachdem ich postmaster starte, meldet das System Bad system call
- (Core dumped)
- 3.3) Wenn ich versuche, den Postmaster zu starten, bekomme ich eine
- Fehlermeldung wie:
- 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) Warum funktioniert createuser nicht?
- 3.5) Wieso bekomme ich einen Fehler, wie:
- IpcMemoryCreate: memKey=155356396 , size=760632 ,
- permission=384IpcMemoryCreate: shmget(..., create, ...)
- failed: Invalid argument
- 3.6) Wieso scheitert der Aufruf von psql mit: psql: can't load library
- 'libpq.so.1
- 3.7) Andere seltsame Verhaltensweisen
- 3.8) Wenn PostgreSQL beim Systemhalt lief, f�hrt Linux beim Neustart
- jedesmal einen Filesystemcheck (fsck) durch
- 3.9) Warum dauert Query 32 in den RegressionsTests so lange?
- 3.10) Warum bekomme ich lustige Rundungsergebnisse in einigen
- Datums/Zeit-Berechnungen, wie:
- select '4 hours'::timespan;
- liefert '3 hours 59 minutes 60 seconds'?
- +3.11) Wieso bekomme ich einen Fehler wie: IpcMemoryCreate: shmget
- failed (Permission denied)?
-
- Abschnitt 1: PostgreSQL kompilieren
-
- 1.1) Welche Anpassungen m�ssen in src/Makefile.global oder
- src/Makefile.custom gemacht werden und gibt es weitere notwendige
- �nderungen?
-
- �nderungen an den Makefiles werden am einfachsten dadurch gemacht,
- indem das customize shellscript im src-Verzeichnis aufgerufen wird,
- das ein Makefile.custom erzeugt.
-
- Die einzige andere �nderung, die evtl. zu machen w�re, ist Flex zu
- ersetzen, wenn Du die Version 2.5.3 hast. Diese Version hat einen
- Fehler, der sich durch das Scheitern des createuser-Programms �u�ert.
- (siehe dazu auch Frage 3.4).
-
- Falls Du die Makefiles manuell �nderst, musst Du die folgende Variable
- setzen:
-PORTNAME= linux
-
- Du musst auch die folgende Variable �ndern, damit sie auf Deine
- Installation passt:
-POSTGRESDIR
-
- Falls Du die USE_TCL-Option aktivierst, musst Du folgende Variablen
- setzen:
-TCL_INCDIR=
-TCL_LIBDIR=
-TCL_LIB=
-TK_INCDIR=
-TK_LIBDIR=
-TK_LIB=
-X11_INCDIR=
-X11_LIBDIR=
-X11_LIB=
-
- Auf meinem Slackware 3.0 System sind das:
-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
-
- Du solltest auch alle weiteren �nderungen durchf�hren, die in der
- Datei INSTALL und in Makefile.global dokumentiert sind.
-
- 1.2) Warum habe ich Probleme mit der fehlenden Bibliothek libreadline?
-
- Linux Systeme kommen in der Regel nicht mit einer installierten GNU
- readline Bibliothek. Stelle entweder sicher, da� Du die
- readline-Optionen in src/Makefile.global oder src/Makefile.custom
- nicht aktivierst oder installiere die GNU readline Bibliothek.
- Hinweis: Debian Linux (wie FreeBSD) kommt mit einer installierten GNU
- readline Bibliothek.
-
- 1.3) [REDHAT] Warum habe ich Probleme mit der fehlenden Bibliothek libdl
- und der fehlenden dlfcn.h?
-
- Das Problem erscheint dadurch, da� in der letzten Phase des
- Kompilierungsvorgangs Funktionen wie dlopen(), dlclose(), etc. nicht
- gelinkt werden k�nnen.
-
- Die libdl Bibliothek wird zum dynamischen Linken von
- Benutzerfunktionen zur Laufzeit benutzt. Aus irgendwelchen Gr�nden
- wurde diese Bibliothek mit der RedHat-Distribution nicht ausgeliefert.
- Anscheinend ist dies in der letzten RedHat 4.0 (Colgate) ge�ndert
- worden.
-
- RedHat hat nun ein neues ld.so RPM-Archiv auf ihrem ftp-Server. Hole
- Dir einfach:
-
- ftp://ftp.redhat.com/pub/redhat/devel/i386/RedHat/RPMS/ld.so-1.7.14-4.
- i386.rpm
-
- Installiere das RPM-Archiv wie �blich und gut ist!
-
- Hinweis: Du mu�t configure und make clean nach der Installation der
- Bibliothek und vor dem erneuten Kompilieren laufen lassen.
-
- Es gab einen Bericht �ber ein zerst�rtes System, weil Programme auf
- diese Bibliothek w�hrend des Updates zugegriffen haben (alles in allem
- nicht weiter �berraschend). Konsequenterweise ist es eine gute Idee,
- das System vor der Installation zu rebooten, um so wenige Programme
- wie m�glich w�hrend des Updates laufen zu haben. In den
- Single-User-Mode zu gehen ist wahrscheinlich auch eine gute Idee!
-
- Wenn Du lieber den harten Weg gehen willst, kannst Du die Bibliothek
- und die Header-Dateien von:
-
- ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.7.14.tar.gz
-
- holen. Alternativ findest Du vorkompilierte Binaries in
- distributions/debian/buzz/binary-i386/base/ld.so-1.7.14-4.deb auf dem
- gleichen ftp-Server oder folge den Instruktionen bei Frage 1.2, die
- den gleichen Fehler f�r Slackware 3.1 behandelt.
-
- Mache es aber nur auf diese Weise, wenn Du wei�t, was Du tust!
-
- 1.4) [SLACKWARE 3.1] Warum habe ich Probleme mit der fehlenden Bibliothek
- libdl und der fehlenden dlfcn.h?
-
- Das Problem erscheint dadurch, da� in der letzten Phase des
- Kompilierungsvorgangs Funktionen wie dlopen(), dlclose(), etc. nicht
- gelinkt werden k�nnen.
-
- Siehe die Antwort zu Frage 1.3.
-
- Slackware bis Version 3.0 war mit dieser Bibliothek und der
- Include-Datei ausgestattet und ab sp�ten 3.1er-Versionen scheinen sie
- auch wieder da zu sein. Aber in fr�hen 3.1er-Versionen (vor dem
- 09.09.96) fehlten sie und es wurden viele CD-ROMs von diesen ersten
- 3.1.er-Versionen gepresst.
-
- Es gab einen Bericht �ber ein zerst�rtes System, weil Programme auf
- diese Bibliothek w�hrend des Updates zugegriffen haben (alles in allem
- nicht weiter �berraschend). Konsequenterweise ist es eine gute Idee,
- das System vor der Installation zu rebooten, um so wenige Programme
- wie m�glich w�hrend des Updates laufen zu haben. In den
- Single-User-Mode zu gehen ist wahrscheinlich auch eine gute Idee!
-
- Der einfachste Weg, den Fehler zu beseitigen ist, die Datei ldso.tgz
- von der a4-Diskette einer aktuelleren Slackware zu nehmen, diese Datei
- im Wurzelverzeichnis (/) zu entpacken und dann ein
-sh install/doinst.sh
-
- durchzuf�hren. Danach ein
-ldconfig
-
- durchf�hren.
-
- Hinweis: Du mu�t configure und make clean nach der Installation der
- Bibliothek und vor dem erneuten Kompilieren laufen lassen.
-
- Falls Du manuell installieren m�chtest, installiere zuerst die Datei
- dlfcn.h in /usr/include. Dann die libdl.so.1.7.14 (oder was immer die
- letzte Version ist) in /lib. Dann f�hre folgende Befehle aus:
-cd /lib
-ln -sf libdl.so.1.7.14 libdl.so.1
-ln -sf libdl.so.1 libdl.so
-
- Auf manchen Systemen (je nach Deiner gcc-Konfiguration) k�nnen noch
- folgende Befehle notwendig sein:
-cd /usr/lib
-ln -sf /lib/libdl.so .
-
- Und zum Schlu� noch ein
-ldconfig
-
- Hinweis: Du mu�t configure und make clean nach der Installation der
- Bibliothek und vor dem erneuten Kompilieren laufen lassen.
-
- 1.5) Die Kompilierung des Backends schl�gt mit der Meldung fehl, da� die
- Include-Datei dlfcn.h fehlen w�rde.
-
- Siehe die Antworten zu den Fragen 1.3 und 1.4. Und vergiss nicht,
- falls Du ein a.out-System benutzt, da� Du das dld-Paket installiert
- haben mu� (welches bei den meisten a.out-Systemen nicht dabei ist), um
- dlfcn.h zu haben. Siehe Frage 1.11.
-
- 1.6) GCC meldet, da� er die Option -fpic ignorieren w�rde.
-
- Fr�here Versionen des gcc nahmen entweder -fpic oder -fPIC an. Es
- scheint, da� neuere Versionen (V2.7.2?) -fPIC erfordern. Falls Du ein
- ELF-System benutzt, kannst das alles ignoriert werden, da -fPIC als
- Standardvorgabe voreingestellt ist. Du kannst diese Angabe
- korrigieren, indem Du CFLAGS_SL in der Datei src/Makefile.global
- �nderst.
-
- 1.7) Ich bekomme Warnungen, wie: warning: cast from pointer to integer of
- different size
-
- Diese Warnungen wurden in fr�heren Versionen von Postgres95 gesichtet
- und k�nnen ignoriert werden. PostgreSQL V6.0 sollte ohne Warnungen
- kompiliert werden, au�er jenen, die sich auf System-Header-Dateien
- beziehen (welche auch ignoriert werden k�nnen).
-
- 1.8) [SuSE-Linux 4.2-5.3] Wo sind curses und termcap?
-
- SuSE-Linux 4.2 hat ncurses, nicht curses. Version 4.4 scheint beide
- Bibliotheken zu haben. Bei SuSE-Linux ist au�erdem die
- termcap-Bibliothek in /usr/lib/termcap/ und nicht in /usr/lib.
-
- PostgreSQL (bis Version V6.0)
-
- Setze den Wert f�r CURSES_LIB in src/Makefile.custom auf -lncurses
- (oder erledige das durch das customize script. F�ge folgende Zeile zur
- Datei src/Makefile.custom hinzu:
-LDADD_BE+= -L/usr/lib/termcap
-
- M�glicherweise mu�t Du in der Datei src/bin/psql/Makefile folgende
- �nderung durchf�hren:
-ifeq ($(PORTNAME), linux)
- LD_ADD+=
-
- �ndern in:
-ifeq ($(PORTNAME), linux)
- LD_ADD+= -ltermcap
-
- PostgreSQL (V6.1)
-
- Das Konfigurationsscript wei� nicht, da� es auch in /usr/lib/termcap
- nach der termcap-Bibliothek schauen soll. Du solltest dieses
- Verzeichnis angeben, wenn es nach zus�tzlichen Such-Verzeichnissen
- fragt.
-
- Falls das nicht funkitoniert (Ich habe SuSE nicht, um das zu testen),
- dann solltest Du nach dem ./configure-Lauf die Datei
- src/Makefile.global �ndern und in die LDFLAGS-Zeile den Eintrag
- -ltermcap (nach -lreadline) hinzuf�gen. (Alternativ kannst Du auch die
- Datei src/Makefile.custom �ndern, bevor Du ./configure aufrufst.)
-
- Einige SuSE-Versionen liefern nur ncurses, deshalb kann es sein, da�
- Du die Benutzung von ncurses statt curses erzwingen mu�t, indem Du
- -lcurses in -lncurses �nderst. (best�tigt f�r SuSE 5.1)
-
- PostgreSQL (V6.4)
-
- In PostgreSQL V6.4 �berpr�ft configure sowohl das Vorhandensein von
- curses, als auch das von ncurses. In der Zwischenzeit kannst Du den
- patch von Karl Eichwalder (ke@suse.de) anwenden:
-
- http://www.PostgreSQL.ORG/mhonarc/pgsql-patches/msg00407.html
- oder (mit deutschen Bemerkungen):
- http://www.suse.de/Support/sdb/ke_postgresql-632.html
-
- Es gab au�erdem einen Bericht, da� beim Update von SuSE 5.0 auf SuSE
- 5.2 der Link von libtermcap.so.2.0.8 auf libtermcap.so nicht gesetzt
- wurde:
-cd /usr/lib
-ln -s libtermcap.so.2.0.8 libtermcap.so
-
- 1.9) Warum bekomme ich Probleme mit ld.so?
-
- Falls Du Probleme mit ld.so bekommst - eine andere Bibliothek, die im
- ELF-System f�r dynamisches Laden ben�tigt wird - dann hast Du Deine
- Systeminstallation oder wahrscheinlicher ein Linux-Update
- durcheinandergebracht Siehe die Fragen 1.3/1.4. M�glicherweise mu�t Du
- ld.so.x.y.z in /lib installieren und ldconfig laufen lassen. Die
- aktuellste Version des ld-Packages ist 1.7.14. Zum Zeitpunkt des
- Schreibens dieser FAQ ist die Version 1.8 noch experimental.
-
- 1.10) Wieso bekomme ich yy_flush_buffer undefined Fehler?
-
- Das ist nicht wirklich Linux-spezifisch, aber es tritt h�ufiger auf
- alten Linux-Systemen auf. Du brauchst eine aktuelle Version von flex
- (2.5.2. oder neuer), um PostgreSQL zu kompilieren. Beachte, da� flex
- 2.5.3. einen Bug hat, siehe auch Frage 3.4.
-
- 1.11) Wie kompiliere ich PostgreSQL auf einem a.out System?
-
- Als erstes mu�t Du die dld-Bibliothek installieren. Diese gibt es auf
- Sunsite unter Linux/libs/dld.3.2.7.tar.gz
- (ftp://sunsite.unc.edu/pub/Linux/libs/dld.3.2.7.tar.gz).
-
- Dann f�ge folgende Zeile in src/Makefile.custom hinzu:
-LINUX_ELF=
-
- oder benutze das customize Skript
-
- 1.12) Warum scheitert make mit der Meldung:
- yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y make: /usr/bin/make:
- cannot execute binary file
-
- Das war ein Problem in fr�hreren Versionen von Postgres95.
- Standardm��ig benutzt PostgreSQL bison -y anstatt yacc.
-
- yacc ist normalerweise als Skript implementiert, das bison -y aufruft.
- Aus verschiedenen Gr�nden ist make nicht in der Lage, das Skript
- auszuf�hren (verschiedene Versionen von make? Verschiedene Versionen
- der bash?)
-
- Um das zu beheben, �ndere einfach die Datei
- src/mk/port/postgres.mk.linux am Ende. Die Zeile:
-# YACC = bison -y
-
- wird zu:
-YACC = bison -y
-
- 1.13) Was sind die Bez�ge in der Bibliothek X11_LIB zu libsocket und libnsl
- in der Datei src/Makefile.global?
-
- Das war ein Problem in Version 1.08 (Sun Solaris spezifisch). Sie sind
- behoben in 1.09 und 6.0
-
- 1.14) [DEBIAN] Wo ist die Bibliothek libtermcap?
-
- Debian Linux kommt ohne die termcap-Bibliothek und benutzt ncurses
- (welche terminfo benutzt). Es gibt keinen Grund, die
- CURSES_LIB-Variable in src/bin/psql/Makefile zu �ndern, da Debian
- einen Link von libncurses auf libcurses bereitstellt (im Gegensatz zu
- SuSE, siehe Frage 1.8)
-
- Du kannst die Datei src/bin/psql/Makefile wie folgt �ndern:
-ifeq ($(PORTNAME), linux)
- LD_ADD+= -ltermcap
-
- in
-ifeq ($(PORTNAME), linux)
- LD_ADD+=
-
-
- 1.15) [REDHAT] Kann ich PostgreSQL als RPM-Archiv bekommen?
-
- Ja! Michal Mosiewicz (http://www.pdi.lodz.pl/~mimo) hat ein RPM f�r
- PostgreSQL V6.0 auf Intel Architekturen zusammengestellt, welches er
- nach ftp://ftp.redhat.org/pub/Incoming/Postgres-6.0-1.i386.rpm
- hochgeladen hat.
-
- Das ist eine vorkompilierte Version, das Quelltext-RPM stammt vom
- 03.02.1997.
-
- 1.16) W�hrend ich versuche eine Entwickler-Version unter Linux zu
- kompilieren, bricht der Vorgang mit folgender Fehlermeldung ab:
- 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
-
- Das Problem ist, da� Linux keine Prototypen f�r diese
- Inline-Funktionen bereith�lt. Die L�sung liegt darin, das Makefile in
- .../src/backend/storage/ipc/ zu �ndern: �ndere die Zeile:
-CFLAGS+=$(INCLUDE_OPT)
-
- in
-CFLAGS+=$(INCLUDE_OPT) -Wno-error
-
- Mache dasselbe dann im ../src/backend/storage/lmgr Verzeichnis.
-
- 1.17) Beim Kompilieren von PostgreSQL bricht der gcc mit einer Signal 11
- Meldung ab.
-
- Oder genauer: gcc: Internal compiler error: program cc1 got fatal
- signal 11
-
- Das k�nnen Hardware/Speicherprobleme sein. PostgreSQL ist ein gro�es
- Programm und gro�e gcc-Kompilierungsl�fe (wie eben PostgreSQL oder
- eine Kernel-Kompilierung) beanspruchen den Hauptspeicher wie wenig
- andere Programme. Dadurch k�nnen Fehler auftreten, die in normalen
- Situationen nicht erscheinen. Niedrigere Betriebssysteme beanspruchen
- die Hardware ebenfalls nicht in diesem Ma�e, deshalb kann es sein, da�
- Du niemals Probleme unter DOS/Windows siehst.
-
- Mehr Information zu diesem Problem gibt es unter
- http://www.BitWizard.nl/sig11/ und in deutsch unter
- http://www.suse.de/sdb/de/html/kfr_58.html.
-
- Laut dieser Sig11-FAQ scheint es ein spezielles Problem mit dem RedHat
- 5.0 gcc auf einem Cyrix-Prozessor zu geben. Siehe bitte dort nach den
- Details nach.
-
- 1.18) Kann ich Version 6.1.1 unter MkLinux installieren?
-
- Tatsuo Ishii hat das unter MkLinux DR2.1 update2 geschafft, nachdem
- der kleine Patch von
- ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz
- eingespielt wurde.
-
- 1.19) Warum stoppt make oder bricht sonstwie ab?
-
- Es gibt eine Reihe von Reports dar�ber, da� gmake zu fr�h aussteigt
- oder mit einem Segmentation Fault aussteigt. Das letzte Problem wurde
- von gmake 3.74 berichtet. Ein Update auf 3.76.1 l�ste dieses Problem.
- Wie auch immer, 3.74 arbeitet bei vielen Leuten zur vollsten
- Zufriedenheit. Kurz gesagt, upgrade Deinen gmake auf die aktuellste
- Version, bevor Du dieses Problem meldest.
-
- 1.20) Wie kann ich f�r die Prozessoren 486 oder Pentium optimieren?
-
- Die Standard-Compilerflags f�hren keine Optimierung f�r den 486er oder
- den Pentium-Prozessor durch. Um diese Optimierung zu aktivieren, f�ge
- wahlweise eine der folgenden Zeilen der Datei Makefile.custom hinzu:
-CFLAGS+= -m486
-
- oder
-CFLAGS+= -mpentium
-
- oder
-CFLAGS+= -mpentiumpro
-
- 1.21) Wieso bekomme ich seltsame Ergebnisse beim Drucken von Zeiten (z.B.
- beim Regressionstest 'timespan')?
-
- Die Zeit erscheint z.B. als: "4 hours 59 mins 60.00 secs" und nicht
- als "5 hours"
-
- Das ist ein Problem mit der glibc2-Bibliothek, die mit RedHat 5.0
- ausgeliefert wird. Update Deine glibc auf die aktuellste
- RedHat-Version f�r v5.0/Hurricane. Alle Versionen vor glibc-2.9.7
- scheinen dieses Problem zu haben.
-
- 1.22) Warum bekomme ich keine shared libraries f�r libpq, wenn ich Version
- 6.3.2 kompiliere?
-
- Es gab eine Last-Minute-�nderung der Linux-Konfiguration f�r Version
- 6.3.2. Siehe f�r einige Fehlerbehebungen und einen Linux-ELF-Patch in
- ftp://postgresql.org/pub/patches/ nach.
-
- 1.23) Warum scheitert der Kompilierungslauf mit Nachrichten, da� F_BOOLIN,
- F_BOOLOUT und F_BYTEAIN nicht deklariert seien?
-
- Die komplette Meldung sieht ungef�hr so aus:
- -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
-
- Solange Du nicht wei�t, warum das passiert, ist dieses Problem
- ziemlich kniffelig, da diese Konstanten anscheinend nirgendwo
- definiert werden.
-
- Die L�sung ist daf�r zu sorgen, da� der cpp in Deinem Pfad erreichbar
- ist, bevor make gestartet wird.
-
- Auf Redhat 5.1, ist cpp in /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3
-
- Abschnitt 2: Hilfs- und Zusatzprogramme kompilieren
-
- 2.1) Der Linker findet die Bibliothek libX11 nicht, wenn pgtclsh kompiliert
- werden soll.
-
- F�ge folgende Zeile in src/Makefile.custom hinzu:
-X11_LIBDIR = /usr/X11R6/lib
-
- Abschnitt 3: Laufzeit Probleme
-
- 3.1) Ich bekomme die Fehlermeldung _fUnKy_POSTPORT_sTuFf_ undefined, wenn
- Skripts wie createuser laufen.
-
- Das ist ein Fehler in Versionen 1.06-1.07 und ist ab Version 1.08 und
- h�her behoben.
-
- 3.2) Nachdem ich postmaster starte, meldet das System Bad system call (Core
- dumped)
-
- Diese Fehlermeldung deutet an, da� Du keinen Shared-Memory-Support in
- den Kernel einkompiliert hast. Der Kernel mu� mit dieser Option neu
- kompiliert werden, um diese Eigenschaft hinzuzuf�gen.
-
- 3.3) Wenn ich versuche, den Postmaster zu starten, bekomme ich eine
- Fehlermeldung wie:
- 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.
-
- Deine Berechtigungen f�r die Datei /dev/null sind falsch gesetzt. ein
- ls -l /dev/null sollte folgende Ausgabe zeigen:
-crw-rw-rw- 1 root wheel 2, 2 Oct 8 18:41 /dev/null
-
- Korrigiere die Berechtigungen mit:
-chmod a+rw /dev/null
-
- 3.4) Warum funktioniert createuser nicht?
-
- Es gibt ein Problem mit Version 2.5.3 des GNU flex und createuser. Die
- M�glichkeiten, diesen Fehler zu beheben sind: Entweder auf die
- flex-Version 2.5.3 zu gehen, auf Version 2.5.4 zu gehen, oder den
- Patch nach doc/README.flex einzuspielen.
-
- Die Version 2.5.4. gibt es unter
- ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz.
-
- 3.5) Wieso bekomme ich einen Fehler, wie:
- IpcMemoryCreate: memKey=155356396 , size=760632 ,
- permission=384IpcMemoryCreate: shmget(..., create, ...)
- failed: Invalid argument
-
- Du hast keine IPC-Unterst�tzung in Deinen Linux-Kernel einkompiliert.
- Der Kernel mu� mit dieser Option neu kompiliert werden, um diese
- Eigenschaft hinzuzuf�gen.
-
- 3.6) Wieso scheitert der Aufruf von psql mit: psql: can't load library
- 'libpq.so.1
-
- Psql wurde mit dynamischen Zugriff auf die libpq-bibliothek
- kompiliert. Um dieses Problem zu l�sen, solltest Du Dich als root
- anmelden und die Datei /etc/ld.so.conf editieren. F�ge eine Zeile am
- Ende hinzu, die den Namen des PostgreSQL-Bibliotheken-Verzeichnis
- enth�lt (das lib-Verzeichnis im PostgreSQL-Installationsverzeichnis)
- und rufe den Befehl /sbin/ldconfig -v auf. Alternativ (und falls Du
- keinen root-Zugriff hast) kannst Du die LD_LIBRARY_PATH-Variable
- benutzen. Die LD_LIBRARY_PATH-Variable enth�lt eine durch Doppelpunkt
- getrennte Liste mit Suchpfaden f�r Shared-Bibliotheken. Diese Liste
- wird durchsucht, bevor auf die Informationen von ldconfig zugegriffen
- wird. Unter der bash sieht das ganze so aus:
-export LD_LIBRARY_PATH='PathToPGSQL'/lib
-
- unter der tcsh so:
-setenv LD_LIBRARY_PATH 'PathToPGSQL'/lib
-
- wobei 'PathToPGSQL' das Installationsverzeichnis von PostgreSQL ist.
- Hinweis: der ldd-Befehl dient dazu, sich die dynamischen Bibliotheken
- f�r eine bestimmte ausf�hrbare Datei anzeigen zu lassen.
-
- 3.7) Andere seltsame Verhaltensweisen
-
- Ich bin mir nicht sicher, welche Symptome alle auftreten k�nnen, au�er
- da� gar nichts richtig funktioniert, aber es stellte sich heraus, da�
- man sorgsam darauf achten sollte, da� die richtige Version der
- libpq-Bibliothek geladen wird. Falls Du alte Versionen in Deinem
- Bibliothekspfad hast (z.B. in /usr/lib) k�nnen diese statt der neueren
- Version geladen werden. Schaffe diese alten Versionen beiseite und
- siehe im �brigen Frage 3.6 f�r weitere Details bez�glich dem Laden von
- Bibliotheken.
-
- 3.8) Wenn PostgreSQL beim Systemhalt lief, f�hrt Linux beim Neustart
- jedesmal einen Filesystemcheck (fsck) durch
-
- Es gab dar�ber einige Berichte und es scheint, da� dies passiert, wenn
- PostgreSQL von der /etc/inittab gestartet wird, wie im
- INSTALL-Dokument beschrieben.
-
- Deshalb wird Dir empfohlen, den postmaster von einem rc-Skript aus zu
- starten. Unter einem Slackware-artigem System w�rdest Du
- /etc/rc.d/rc.local modifizieren, um den postmaster zu starten.
-
- Unter RedHat-artigen Systemen w�rdest Du ein SysV-artiges Skript in
- /etc/rc.d/rc3.d basierend auf der /etc/rc.d/init.d Schablonen-Datei
- erstellen.
-
- Es gibt eine Beispieldatei unter dem Verzeichnis
- contrib/linux/postgres.init.
-
- Hier ist noch ein anderes Beispiel von John Robinson welches Du
- entsprechend anpassen kannst.
-#!/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/postgr
-eSQL/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) Warum dauert Query 32 in den RegressionsTests so lange?
-
- Das passiert wegen eines Fehlers in den Regressions-Skripten auf
- Linux-Kisten. Es gibt - soweit ich wei� - zwei M�glichkeiten, diese
- Fehler zu umgehen (die Information stammt von Tatsuo Ishii):
-
- 1. �ndere folgende Zeile in regress.sh:
-time postgres -texecutor -tplanner -Q bench < bench.sql
-
- in
-postgres -texecutor -tplanner -Q bench < bench.sql
-
- 2. nachdem der Test gelaufen ist, entferne eine Zeile ganz am Ende der
- Datei bench.out, die ungef�hr so aussieht:
-85.86user 114.47system 4:49.20elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k
-
- dann gib folgendes auf der Befehlszeile ein:
-sh ./perquery < bench.out > & bench.out.perquery
-
- 3.10) Warum bekomme ich lustige Rundungsergebnisse in einigen
- Datums/Zeit-Berechnungen, wie:
- select '4 hours'::timespan;
- liefert '3 hours 59 minutes 60 seconds'?
-
- Du benutzt neue glibc2-Bibliotheken in einer Version kleiner als
- 2.0.7. Das ist ein mathematisches Rundungsproblem. Aktualisiere Deine
- Bibliothek.
-
- 3.11) Wieso bekomme ich einen Fehler wie: IpcMemoryCreate: shmget failed
- (Permission denied)?
-
- Im Detail erscheint der Fehler mit dieser Meldung:
-In detail, a message like this may appear:
-IpcMemoryCreate: shmget failed (Permission denied)
-key=5432010, size=120, permission=700
-IpcMemoryAttach: shmat failed (Permission denied) id=0
-FATAL 1: AttachSLockMemory: could not attach segment
-
- Dieser Fehler wird durch nicht gel�schte Segmente im shared memory
- verursacht. (Du kannst sie mit dem Programm ipcs sehen. Benutze das
- Programm ipcrm, um sie zu l�schen.
- _________________________________________________________________
-
- Author of the english version
- 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
-
- Translator of the german version
- Karsten Schulz Linux Systemhaus Schulz
- EMAIL: (Work) schulz@Linux-Systemhaus.de (Home) kaschu@t800.ping.de
- URL: http://www.Linux-Systemhaus.de/
- Tel: (Work) +49 231 3944432 (Fax) +49 231 3944435