2.6.5 Notes sur les autres Unix
2.6 Notes spécifiques aux systèmes d'exploitation
2 Installer MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Notes relatives à la version 10.20 de HP-UX . HP-UX Version 11.x Notes . Notes relatives à IBM-AIX . Notes relatives à SunOS 4 . Notes pour Alpha-DEC-UNIX ( Tru64 ) ->Notes pour Alpha-DEC-OSF/1 . Notes relatives à SGI Irix . Notes sur SCO . Notes sur SCO UnixWare Version 7.1.x
|
2.6.5.6 Notes pour Alpha-DEC-OSF/1 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 bugué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
.
|