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.2 HP-UX Version 11.x Notes Pour les version 11.x de HP-UX nous recommandons MySQL 3.23.15 ou plus récent.
A cause de quelques bogues critiques dans les bibliothèques standard de HP-UX,
vous devez installer les patches suivants avant d'essayer de faire fonctionner
MySQL sous HP-UX 11.0 :
PHKL_22840 Streams cumulative PHNE_22397 ARPA cumulative
|
Cela résoudra le problème de l'obtention de
EWOULDBLOCK
à partir de
recv()
et
EBADF
à partir de
accept()
dans les applications threadées.
Si vous utilisez
gcc
2.95.1 sur un système HP-UX 11.x non-patché,
vous obtiendrez l'erreur :
In file included from /usr/include/unistd.h:11, from ../include/global.h:125, from mysql_priv.h:15, from item.cc:19: /usr/include/sys/unistd.h:184: declaration of C function ... /usr/include/sys/pthread.h:440: previous declaration ... In file included from item.h:306, from mysql_priv.h:158, from item.cc:19:
|
Le problème est que HP-UX ne définit pas
pthreads_atfork()
avec consistence.
Il possède des prototypes en conflit dans
/usr/include/sys/unistd.h
:184 et
/usr/include/sys/pthread.h
:440 (détails ci-dessous).
Une solution est de copier
/usr/include/sys/unistd.h
dans
mysql/include
et éditer
unistd.h
en le changeant pour
qu'il corresponde à la définition dans
pthread.h
. Voici les
modifications :
extern int pthread_atfork(void (*prepare)(), void (*parent)(), void (*child)());
|
est remplacée par
extern int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void));
|
Après cela, la ligne de configuration suivante devrait fonctionner :
CFLAGS="-fomit-frame-pointer -O3 -fpic" CXX=gcc \ CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -O3" \ ./configure --prefix=/usr/local/mysql --disable-shared
|
Si vous utilisez MySQL 4.0.5 avec le compilateur HP-UX, vous pouvez utiliser :
(testé avec cc B.11.11.04):
CC=cc CXX=aCC CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure --with-extra-character-set=complex
|
Vous pouvez ignorer toutes les erreurs de ce type :
aCC: warning 901: unknown option: `-3': use +help for online documentation
|
Si vous obtenez l'erreur suivante de
configure
:
checking for cc option to accept ANSI C... no configure: error: MySQL requires a ANSI C compiler (and a C++ compiler). Try gcc. See the Installation chapter in the Reference Manual.
|
Vérifiez que le chemin vers le compilateur K&R ne précède pas le chemin vers
le compilateur C et C++ HP-UX.Une autre raison qui pourrait vous empêcher de compiler, et le fait de n'avoir
pas définit l'option
+DD64
ci-dessus.
|