При использовании 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 рекомендует установить все патчи, как указано на странице
https://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html.
Вам следует, как минимум, установить последние обновления (rollup) ядра,
последние обновления rld
и последние обновления libc
.
Для поддержки pthreads обязательно следует установить все патчи POSIX со страницы:
https://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