2.6. Заметки по операционным системам
2.6.6.3. Примечания к HP-UX версий 11.x
Для HP-UX версий 11.x мы рекомендуем использовать MySQL не ниже 3.23.15.
Из-за некоторых критических ошибок в стандартных библиотеках HP-UX до попытки запуска MySQL на HP-UX 11.0 необходимо установить следующие патчи:
PHKL_22840 Streams cumulative
PHNE_22397 ARPA cumulative
Применение данных патчей решит проблему получения EWOULDBLOCK от recv() и EBADF от accept() в потоковых приложениях.
При использовании gcc 2.95.1 в системе, к которой не были применены патчи, возникнет ошибка:
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:
Проблема заключается в том, что HP-UX существуют несовместимые определения функции pthreads_atfork() . Конфликтующие прототипы находятся в /usr/include/sys/unistd.h :184 и в /usr/include/sys/pthread.h :440 (подробности приведены ниже).
Одно из возможных решений заключается в том, чтобы скопировать /usr/include/sys/unistd.h в mysql/include и отредактировать unistd.h так, чтобы определение совпадало с определением из pthread.h . Ниже приведен результат работы 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));
После этого должна работать конфигурационная программа со следующими параметрами:
CFLAGS="-fomit-frame-pointer -O3 -fpic" CXX=gcc \
CXXFLAGS="-felide-constructors -fno-exceptions -fno-rtti -O3" \
./configure --prefix=/usr/local/mysql --disable-shared
Если вы используете MySQL 4.0.5 с компилятором HP-UX, то вам подойдет (проверено на cc B.11.11.04):
CCМ CXX¬C CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure --with-extra-character-set=complex
Вы можете игнорировать ошибки, подобные этой:
aCC: warning 901: unknown option: `-3': use +help for online documentation
При получении следующего сообщения об ошибке при работе 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.
следует удостовериться, что путь к компилятору K&R не указан раньше, чем путь к компиляторам HP-UX C и C++.
Еще одна причина, по которой вы не сможете скомпилировать MySQL, заключается в том, что вы забыли указать флаг +DD64 , описанный выше.
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|