DEC の CC
および gcc
がインストールされている場合、コンパイルで問題が発生したら、以下のような
configure
を実行してみてください。
CC=cc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
c_asm.h
ファイルで問題が発生した場合は、以下のコマンドで
'ダミー' の c_asm.h
ファイルを作成して使用してください。
touch include/c_asm.h CC=gcc CFLAGS=-I./include \ CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
注意: ld
プログラムに関する以下の問題は、最新の
DEC(Compaq)パッチキットを以下のサイトからダウンロードして修正できます。
http://ftp.support.compaq.com/public/unix/。
OSF/1 V4.0D およびコンパイラ "DEC C V5.6-071 on
Digital Unix V4.0 (Rev. 878)"
では、コンパイラにいくつかの未知の動作があります(未定義の
asm
シンボル)。
/bin/ld
も壊れているように思われます(mysqld
のリンク中に _exit undefined
エラーが発生する問題)。このシステムでは、/bin/ld
を OSF 4.0C
のバージョンに置き換えた後、以下の
configure
行を使用して MySQL
をコンパイルできました。
CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
Digital コンパイラ "C++ V6.1-029" を使用する場合は、以下の指定が有効です。
CC=cc -pthread CFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all \ -arch host CXX=cxx -pthread CXXFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all \ -arch host -noexceptions -nortti export CC CFLAGS CXX CXXFLAGS ./configure --prefix=/usr/mysql/mysql --with-mysqld-ldflags=-all-static \ --disable-shared --with-named-thread-libs="-lmach -lexc -lc"
OSF/1
の一部のバージョンでは、alloca()
関数が壊れています。config.h
の 'HAVE_ALLOCA'
を定義する行を削除して、この問題を解決します。
alloca()
関数も
/usr/include/alloca.h
に正しくないプロトタイプを持つことがあります。その結果表示される警告は無視してかまいません。
configure
は、以下のスレッドライブラリを自動的に使用します。
--with-named-thread-libs="-lpthread -lmach -lexc
-lc"
。
gcc
を使用している場合は、以下のように
configure
を実行してみてください。
shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ...
シグナルに関する問題が発生した場合 (高負荷の状況で MySQL が突然停止する)、スレッドとシグナルに関する OS のバグを見つけた可能性があります。この場合、以下のコマンドを使用して設定することで、シグナルを使用しないように MySQL に指示することができます。
shell>CFLAGS=-DDONT_USE_THR_ALARM \
CXXFLAGS=-DDONT_USE_THR_ALARM \
./configure ...
これは、MySQL
のパフォーマンスには影響しませんが、接続上で
"スリープ状態"
のクライアントを、mysqladmin kill
または mysqladmin shutdown
を使用して強制終了することができなくなるという副作用があります。代わりに、クライアントは自身が次回コマンドを発行したときに停止します。
gcc
2.95.2
を使用している場合、以下のコンパイルエラーが発生する可能性が高いです。
sql_acl.cc:1456: Internal compiler error in `scan_region', at except.c:2566 Please submit a full bug report.
これを修正するには、sql
ディレクトリに移動して、末尾の
gcc
行を
``カットアンドペースト''
しますが、-O3
は
-O0
に変更します(または、コンパイル行に
-O
オプションがない場合は、-O0
を
gcc
の直後に追加します)。この処理が終わったら、最上位のディレクトリに戻って、make
を再実行します。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.