2.6.6.8 Примечания к SGI Irix
При использовании Irix 6.5.3 или выше mysqld
может создавать потоки только
в случае, если он запущен от имени пользователя с привилегиями
CAP_SCHED_MGT
(подобными тем, что у root
) или если такие привилегии даются
серверу mysqld
следующей командой:
shell> chcap "CAP_SCHED_MGT+epi" /opt/mysql/libexec/mysqld
Возможно, вам придется убрать некоторые определения из `config.h'. Это
делается после выполнения configure
, но до компиляции.
В некоторых реализациях Irix неправильно реализована функция alloca()
.
Если сервер mysqld
аварийно завершает работу при выполнении некоторых
выражений SELECT
, удалите из `config.h' строки, в которых определяются
HAVE_ALLOC
и HAVE_ALLOCA_H
. Если не работает mysqladmin create
, удалите из
`config.h' строку, определяющую HAVE_READDIR_R
. Можно также удалить строку,
содержащую HAVE_TERM_H
.
SGI рекомендует установить все патчи, как указано на странице
http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html.
Вам следует, как минимум, установить последние обновления (rollup) ядра,
последние обновления rld
и последние обновления libc
.
Для поддержки pthreads обязательно следует установить все патчи POSIX со
страницы:
http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html
Если при компиляции `mysql.cc' вы получили сообщение об ошибке наподобие:
"/usr/include/curses.h", line 82: error(1084): invalid combination of type
то необходимо выполнить следующие команды в каталоге верхнего уровня
дерева каталогов исходных текстов MySQL:
shell> extra/replace bool curses_bool < /usr/include/curses.h \
> include/curses.h
shell> make
Мы получали также сообщения о проблемах управления. Если выполняется
только один поток, то работа идет очень медленно. Однако если запустить
еще одну программу-клиент, то можно получить ускорение в несколько раз (от
двукратного до десятикратного соответственно) и для других потоков.
Причины описанной проблемы с потоками в Irix пока неясны; возможно, вам
удастся найти временное решение, пока она не будет решена.
При компиляции с помощью gcc
можно использовать следующую команду
configure
:
CC=gcc CXX=gcc CXXFLAGS=-O3 \
./configure --prefix=/usr/local/mysql --enable-thread-safe-client \
--with-named-thread-libs=-lpthread
Сообщают, что для Irix 6.5.11 с собственными Irix C и C++ компиляторами
версии 7.3.1.2, должно работать:
CC=cc CXX=CC CFLAGS='-O3 -n32 -TARG:platform=IP22 -I/usr/local/include \
-L/usr/local/lib' CXXFLAGS='-O3 -n32 -TARG:platform=IP22 \
-I/usr/local/include -L/usr/local/lib' ./configure \
--prefix=/usr/local/mysql --with-innodb --with-berkeley-db \
--with-libwrap=/usr/local \
--with-named-curses-libs=/usr/local/lib/libncurses.a