Si vous avez des problèmes de compilation et que le
CC
de DEC et gcc
sont
installés, essayez d'utiliser le script
configure
comme ceci :
CC=cc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
Si vous avez des problèmes avec le fichier
c_asm.h
, vous pouvez créer un fichier
inerte c_asm.h
avec :
touch include/c_asm.h CC=gcc CFLAGS=-I./include \ CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
Notez que les problèmes suivants avec le programme
ld
peuvent être corrigés en
téléchargeant le dernier kit de patch de DEC (Compaq) à :
http://ftp.support.compaq.com/public/unix/.
Su OSF/1 V4.0D et avec le compilateur DEC C V5.6-071
on Digital Unix V4.0 (Rev. 878)
le compilateur
présente un comportement étrange (undefined asm
symbols
). /bin/ld
apparaît aussi
comme incorrect (problèmes avec des erreurs _exit
undefined
survenant lors du link de
mysqld
). Sur ce système, nous avons
réussi à compiler MySQL avec le script
configure
suivant, après avoir remplacé
/bin/ld
par la version de OSF 4.0C:
CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
Avec le compilateur Digital C++ V6.1-029
,
la ligne suivante doit fonctionner :
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"
Avec certaines versions de OSF/1, la fonction
alloca()
est boguée. Corrigez cela en
supprimant la ligne du fichier config.h
qui définit 'HAVE_ALLOCA'
.
La fonction alloca()
a aussi un prototype
incorrect dans /usr/include/alloca.h
.
L'alerte en résultant peut être ignorée.
Le script configure
va utiliser
automatiquement les bibliothèques de threads suivantes :
--with-named-thread-libs="-lpthread -lmach -lexc
-lc"
.
En utilisant gcc
, vous pouvez aussi essayer
le script configure
avec ceci :
shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ...
Si vous avez des problèmes avec les signaux (MySQL s'arrête inopinément sous forte charge), vous pouvez avoir rencontré un bogue de l'OS avec les threads, et les signaux. Dans ce cas, vous pouvez indiquer à MySQL de ne pas utiliser les signaux avec la configuration suivante :
shell>CFLAGS=-DDONT_USE_THR_ALARM \
CXXFLAGS=-DDONT_USE_THR_ALARM \
./configure ...
Cela ne modifie pas les performances de MySQL, mais vous ne
pourrez plus terminer les clients qui sont en mode
``sleeping'' sur une connexion avec la commande
mysqladmin kill
ou mysqladmin
shutdown
. Au lieu de cela, le client sera interrompu
lorsqu'il émettra la prochaine commande.
Avec gcc
2.95.2, vous aurez probablement
les problèmes de compilation suivants :
sql_acl.cc:1456: Internal compiler error in `scan_region', at except.c:2566 Please submit a full bug report.
Pour corriger cela, vous devez aller dans le dossier
sql
et faire un ``copier coller'' de la
dernière ligne gcc
, tout en rempla¸ant le
code -O3
par le code -O0
ou ajouter le code -O0
immédiatement
après gcc
si vous n'avez aucune option
-O
sur votre ligne de compilation). Après
cela, vous pouvez retourner au niveau de la racine de MySQL,
et tenter à nouveau un make
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.