MySQL 5.0 では、Irix にはもはやバイナリを提供していません。
Irix 6.5.3
あるいはそれ以降を使用している場合、mysqld
はそれを CAP_SCHED_MGT
権限
(root
など)
を有すユーザーとして実行した場合あるいはmysqld
サーバにこの権限を以下のシェル
コマンドを使用して与えた場合にのみスレッドを作成できます。
chcap "CAP_SCHED_MGT+epi" /opt/mysql/libexec/mysqld
config.h
のいくつかの記号の定義を
configure
を実行した後のコンパイルする前に外す必要がある場合があります。
Irix 実装の中には、alloca()
関数が破損しているものもあります。mysqld
サーバが SELECT
ステートメントを実行中に停止した場合、HAVE_ALLOC
および HAVE_ALLOCA_H
を定義した
config.h
から行を削除します。.mysqladmin
create
が機能しない場合、HAVE_READDIR_R
を定義した config.h
から行を削除します。HAVE_TERM_H
行を同様に削除する必要がありかもしれません。
SGI では以下のページのすべてのパッチをこの段階でまとめてインストールすることをお勧めしています。 http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html
最低限の条件として、最新の kernel
ロールアップ、最新の rld
ロールアップ、および最新の
libc
ロールアップをインストールする必要があります。
スレッドをサポートするには以下のページのすべての 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 ソース ツリーの最上段のディレクトリに以下を入力します。
extra/replace bool curses_bool < /usr/include/curses.h > include/curses.h make
プログラムのスケジュールに関する問題も報告されています。1 つのスレッドのみが動作している場合、パフォーマンスは低くなります。別のクライアントを起動してこの問題を回避します。他のスレッドを使用することによって実行速度が 2 倍から 10 倍ほど向上します。これは 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-libwrap=/usr/local \ --with-named-curses-libs=/usr/local/lib/libncurses.a