<AHREF="#1.13">1.13)</A> Was sind die Bezüge in der Bibliothek X11_LIB zu libsocket und libnsl in der Datei src/Makefile.global?<BR>
<AHREF="#1.14">1.14)</A> [DEBIAN] Wo ist die Bibliothek libtermcap?<BR>
<AHREF="#1.15">1.15)</A> [REDHAT] Kann ich PostgreSQL als RPM-Archiv bekommen?<BR>
<AHREF="#1.16">1.16)</A> Während ich versuche eine Entwickler-Version unter Linux zu kompilieren, bricht der Vorgang mit folgender
Fehlermeldung ab:<BR><EM>
In file included from /usr/include/sys/sem.h:8,<BR>
from ipc.c:37:<BR>
/usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'<BR>
....<BR>
make: *** [ipc.o] Error 1</EM><BR>
<AHREF="#1.17">1.17)</A> Beim Kompilieren von PostgreSQL bricht der gcc mit einer Signal 11 Meldung ab.<BR>
<AHREF="#1.18">1.18)</A> Kann ich Version 6.1.1 unter MkLinux installieren?<BR>
<AHREF="#1.19">1.19)</A> Warum stoppt make oder bricht sonstwie ab?<BR>
<AHREF="#1.20">1.20)</A> Wie kann ich für die Prozessoren 486 oder Pentium optimieren?<BR>
<AHREF="#1.21">1.21)</A> Wieso bekomme ich seltsame Ergebnisse beim Drucken von Zeiten (z.B. beim Regressionstest 'timespan')?<BR>
<AHREF="#1.22">1.22)</A> Warum bekomme ich keine shared libraries für libpq, wenn ich Version 6.3.2 kompiliere?<BR>
<AHREF="#1.23">1.23)</A> Warum scheitert der Kompilierungslauf mit Nachrichten, daß F_BOOLIN, F_BOOLOUT und F_BYTEAIN nicht deklariert seien?<BR>
<P>
<ANAME="2."> </A><H3><AHREF="#Sec2">Hilfs- und Zusatzprogramme kompilieren</A></H3>
<AHREF="#2.1">2.1)</A> Der Linker findet die Bibliothek libX11 nicht, wenn pgtclsh kompiliert werden soll.<BR>
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:
<PRE>
cd /usr/lib
ln -s libtermcap.so.2.0.8 libtermcap.so
</PRE>
<H4><ANAME="1.9">1.9)</A> Warum bekomme ich Probleme mit ld.so?</H4>
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 <AHREF="#1.3">1.3</A>/<AHREF="#1.4">1.4</A>. 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.
<H4><ANAME="1.10">1.10)</A> Wieso bekomme ich <EM>yy_flush_buffer undefined</EM> Fehler?</H4>
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 <AHREF="3.4">Frage 3.4</A>.
<H4><ANAME="1.11">1.11)</A> Wie kompiliere ich PostgreSQL auf einem a.out System?</H4>
Als erstes mußt Du die dld-Bibliothek installieren. Diese gibt es auf Sunsite unter
hat ein RPM für PostgreSQL V6.0 auf Intel Architekturen zusammengestellt,
welches er nach <AHREF="ftp://ftp.redhat.org/pub/Incoming/">ftp://ftp.redhat.org/pub/Incoming/Postgres-6.0-1.i386.rpm</A>
hochgeladen hat.
<P>
Das ist eine vorkompilierte Version, das Quelltext-RPM stammt vom 03.02.1997.
<H4><ANAME="1.16">1.16)</A> Während ich versuche eine Entwickler-Version unter Linux zu kompilieren, bricht der Vorgang mit folgender
Fehlermeldung ab:<BR><EM>
In file included from /usr/include/sys/sem.h:8,<BR>
from ipc.c:37:<BR>
/usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'<BR>
....<BR>
make: *** [ipc.o] Error 1</EM></H4>
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:
<PRE>
CFLAGS+=$(INCLUDE_OPT)
</PRE>
in
<PRE>
CFLAGS+=$(INCLUDE_OPT) -Wno-error
</PRE>
Mache dasselbe dann im ../src/backend/storage/lmgr Verzeichnis.
<H4><ANAME="1.17">1.17)</A> Beim Kompilieren von PostgreSQL bricht der gcc mit einer Signal 11 Meldung ab.</H4>
Oder genauer: <EM>gcc: Internal compiler error: program cc1 got fatal signal 11</EM>
<P>
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.
<P>
Mehr Information zu diesem Problem gibt es unter <AHREF="http://www.BitWizard.nl/sig11/">http://www.BitWizard.nl/sig11/</A> und
in deutsch unter <AHREF="http://www.suse.de/sdb/de/html/kfr_58.html">http://www.suse.de/sdb/de/html/kfr_58.html</A>.
<P>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.
<H4><ANAME="1.18">1.18)</A> Kann ich Version 6.1.1 unter MkLinux installieren?</H4>
<AHREF="mailto:t-ishii@sra.co.jp">Tatsuo Ishii</A> hat das unter MkLinux DR2.1 update2 geschafft, nachdem der kleine Patch
von <AHREF="ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/">ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz</A>
eingespielt wurde.
<H4><ANAME="1.19">1.19)</A> Warum stoppt make oder bricht sonstwie ab?</H4>
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.
<H4><ANAME="1.20">1.20)</A> Wie kann ich für die Prozessoren 486 oder Pentium optimieren?</H4>
Die Standard-Compilerflags führen keine Optimierung für den 486er oder den Pentium-Prozessor durch.
Um diese Optimierung zu aktivieren, füge wahlweise <U>eine</U> der folgenden Zeilen
der Datei Makefile.custom hinzu:
<PRE>
CFLAGS+= -m486
</PRE>
oder
<PRE>
CFLAGS+= -mpentium
</PRE>
oder
<PRE>
CFLAGS+= -mpentiumpro
</PRE>
<H4><ANAME="1.21">1.21)</A> Wieso bekomme ich seltsame Ergebnisse beim Drucken von Zeiten (z.B. beim Regressionstest 'timespan')?</H4>
Die Zeit erscheint z.B. als: "4 hours 59 mins 60.00 secs" und nicht als "5 hours"
<P>
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.
<H4><ANAME="1.22">1.22)</A> Warum bekomme ich keine shared libraries für libpq, wenn ich Version 6.3.2 kompiliere?</H4>
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 <AHREF="ftp://postgresql.org/pub/patches/">ftp://postgresql.org/pub/patches/</A> nach.
<H4><ANAME="1.23">1.23)</A> Warum scheitert der Kompilierungslauf mit Nachrichten, daß F_BOOLIN, F_BOOLOUT und F_BYTEAIN nicht deklariert seien?</H4>
Dr. Andrew C.R. Martin University College London