Wenn Sie Probleme beim Kompilieren haben und DEC CC und gcc installiert sind, probieren Sie einmal, configure wie folgt auszuführen:
CC=cc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
Treten Probleme in Verbindung mit der Datei
c_asm.h
auf, dann können Sie wie folgt
eine Dummyversion von c_asm.h
erstellen:
touch include/c_asm.h CC=gcc CFLAGS=-I./include \ CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
Beachten Sie, dass die folgenden Probleme beim Programm ld sich durch den Download des aktuellen DEC-(Compaq-)Patch-Kits beheben lassen. Dieses finden Sie unter http://ftp.support.compaq.com/public/unix/.
Unter OSF/1 V4.0D tritt bei Verwendung des Compilers "DEC
C V5.6-071 on Digital Unix V4.0 (Rev. 878)" ein seltsames
Verhalten auf (undefinierte asm
-Symbole).
/bin/ld
scheint ebenfalls beschädigt zu
sein (Probleme mit _exit undefined
-Fehlern,
die beim Verknüpfen von mysqld auftreten).
Es ist uns gelungen, MySQL auf diesem System mit der folgenden
configure-Zeile zu kompilieren, nachdem wir
/bin/ld
durch die Version aus OSF 4.0C
ersetzt haben:
CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
Beim Digital-Compiler "C++ V6.1-029" sollte Folgendes funktionieren:
CC=cc -pthread CFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed \ -speculate all -arch host CXX=cxx -pthread CXXFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed \ -speculate all -arch host -noexceptions -nortti export CC CFLAGS CXX CXXFLAGS ./configure --prefix=/usr/mysql/mysql \ --with-mysqld-ldflags=-all-static --disable-shared \ --with-named-thread-libs="-lmach -lexc -lc"
Bei einigen Versionen von OSF/1 ist die Funktion
alloca()
beschädigt. Dieses Problem
können Sie beheben, indem Sie die Zeile in
config.h
entfernen, die
'HAVE_ALLOCA'
definiert.
Die Funktion alloca()
weist unter
Umständen auch einen falschen Prototyp in
/usr/include/alloca.h
auf. Sich hierauf
beziehende Warnmeldungen können Sie ignorieren.
configure verwendet die folgenden
Thread-Bibliotheken automatisch:
--with-named-thread-libs="-lpthread -lmach -lexc
-lc"
.
Wenn Sie gcc verwenden, können Sie auch versuchen, configure wie folgt auszuführen:
CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ...
Wenn Sie Probleme mit Signalen haben (weil sich MySQL unter hoher Belastung unerwartet aufhängt), haben Sie unter Umständen einen Betriebssystembug bei den Threads oder Signalen gefunden. In diesem Fall können Sie MySQL wie folgt anweisen, Signale nicht zu verwenden:
CFLAGS=-DDONT_USE_THR_ALARM \ CXXFLAGS=-DDONT_USE_THR_ALARM \ ./configure ...
Hierdurch wird die Leistungsfähigkeit von MySQL nicht beeinträchtigt; ein Nebeneffekt besteht aber darin, dass Sie Clients, die an einer Verbindung „schlafen“, mit mysqladmin kill oder mysqladmin shutdown nicht terminieren können. Stattdessen hängt sich der Client auf, wenn er den nächsten Befehl absetzt.
Bei gcc 2.95.2 erhalten Sie möglicherweise den folgenden Kompilierungsfehler:
sql_acl.cc:1456: Internal compiler error in `scan_region', at except.c:2566 Please submit a full bug report.
Um dies zu beheben, sollten Sie in das Verzeichnis
sql
wechseln und dort die letzte
gcc-Zeile ausschneiden und einfügen, die
Option -O3
dabei jedoch zu
-O0
ändern (oder -O0
direkt
nach gcc hinzufügen, wenn Ihre
compile-Zeile gar keine -O
-Option enthält).
Danach können Sie wieder zum obersten Verzeichnis wechseln
und make erneut ausführen.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.