При использовании 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' строки, в которых определяются
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