Notes pour Alpha-DEC-UNIX ( Tru64 )
<<<
Notes pour Alpha-DEC-OSF/1 Notes relatives à SGI Irix
>>>

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 .

<< Notes pour Alpha-DEC-OSF/1 >>
Notes pour Alpha-DEC-UNIX ( Tru64 ) Notes sur les autres Unix Notes relatives à SGI Irix