Notas HP-UX Versão 11.x


Para HP-UX Versão 11.x nós recomendamos o MariaDB Versão 3.23.15 ou posterior.

Por causa de alguns bugs críticos nas bibliotecas padrão do HP-UX, você deve instalar as seguintes correções antes de tentar executar o MariaDB no HP-UX 11.0:

PHKL_22840 Streams cumulative PHNE_22397 ARPA cumulative

Isto irá resolver um problema que tem como retorno EWOLDBLOCK de recv() e EBADF de accept() em aplicações threads.

Se você estiver usando gcc 2.95.1 em um sistema HP-UX 11.x sem correções, você obterá o erro:

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:

O problema é que o HP-UX não define consistentemente a pthreads_atfork(). Ela tem protótipos coflitantes em /usr/include/sys/unistd.h:184 e /usr/include/sys/pthread.h:440 (detalhes abaixo).

Uma solução é copiar /usr/include/sys/unistd.h em mysql/include e editar unistd.h alterando-o para coincidir com a definição em pthread.h. Aqui está o diff:

183,184c183,184
< extern int pthread_atfork(void (*prepare)(), void (*parent)(),
< void (*child)());
---
> extern int pthread_atfork(void (*prepare)(void), void (*parent)(void),
> void (*child)(void));

Depois disto, a seguinte linha configure deve funcionar:

CFLAGS='-fomit-frame-pointer -O3 -fpic' CXX=gcc \
CXXFLAGS='-felide-constructors -fno-exceptions -fno-rtti -O3' \
./configure --prefix=/usr/local/mysql --disable-shared

Segue algumas inforamações que um usuário do HP-UX Versão 11.x nos enviou sobre compilação do MariaDB com o compilador HP-UX:

CC=cc CXX=aCC CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure --with-extra-character-set=complex

Você pode ignorar qualquer erro do tipo:

aCC: warning 901: unknown option: `-3': use +help for online documentation

Se você obter o seguinte erro do configure

checking for cc option to accept ANSI C... no configure: error: MariaDB requires a ANSI C compiler (and a C++ compiler).
Try gcc. See the Installation chapter in the Reference Manual.

Confira se você não tem o caminho para o compilador K&R antes do caminho para o compilador C e C++ do HP-UX.

Outra razão para não estar compilando é você não definir o parâmetro +DD64 acima.

Outra possibilidade para o HP-UX 11 é usar o binário MariaDB para HP-UX 10.20. Recebemos relatos de alguns usuários de que esses binários funcionam bem no HP-UX 11.00. Se você encontrar problemas, verifique o nível do pacth de seu HP-UX.

Retornar