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 correctifs 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-corrigés, 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 cohérence. 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.
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.