Notes relatives à la version 10.20 de HP-UX
<<<
HP-UX Version 11.x Notes Notes relatives à IBM-AIX
>>>

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.

<< HP-UX Version 11.x Notes >>
Notes relatives à la version 10.20 de HP-UX Notes sur les autres Unix Notes relatives à IBM-AIX