MySQL には libc
5.4.12
あるいはそれ以降が必要です。libc
5.4.46
での動作は確認されています。glibc
2.0.6 およびそれ以降もまた動作します。Red Hat
社の glibc
RPM
に問題があります。問題が発生した場合には、何か更新があるか確認してください。glibc
2.0.7-19 および 2.0.7-29 RPM
の動作は確認されています。
Red Hat 8.0 あるいは新しい
glibc
2.2.x
ライブラリを使用している場合、mysqld
が gethostbyaddr()
でデッドする場合があります。これは新しい
glibc
ライブラリのこの呼び出しにスタックサイズ
128KB
以上が必要だからです。この問題を修正するには、mysqld
を --thread-stack=192K
オプションで実行します。(MySQL 4 の前に
-O thread_stack=192K
を使用します。)
このスタックサイズは MySQL 4.0.10
あるいはそれ以降ではデフォルトですので、問題が発生することはないはずです
MySQL のコンパイルに
gcc 3.0
あるいはそれ以降を使用している場合、MySQL
をコンパイルする前に
libstdc++v3
ライブラリをインストールする必要があります。それをインストールしなかった場合、リンク中に
__cxa_pure_virtual
記号が不明のメッセージが表示されます。
Linux 配布の旧バージョンの中には、configure が以下のようなエラーを表示するものもあります。
Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file. See the Installation chapter in the Reference Manual.
エラーメッセージに従ってその通りに作業します。アンダースコアが
1 つだけの _P
マクロ名にもう 1
つのアンダースコアを加えて、再度試します。
コンパイルするときに警告が発せられる場合があります。以下の表示は無視して構いません。
mysqld.cc -o objs-thread/mysqld.o mysqld.cc: In function `void init_signals()': mysqld.cc:315: warning: assignment of negative value `-1' to `long unsigned int' mysqld.cc: In function `void * signal_hand(void *)': mysqld.cc:346: warning: assignment of negative value `-1' to `long unsigned int'
mysqld
が起動するときに常にコアをダンプする場合は、その問題は多分旧
/lib/libc.a
に因ります。その名前を変更し、次に
sql/mysqld
を削除し、新たに make
install
を行い再度試します。この問題は Slackware
のインストールですでに幾つか報告を受けております。
mysqld
をリンク中に以下のエラーが表示された場合、libg++.a
が正しくインストールされていないことを意味します。
/usr/lib/libc.a(putc.o): In function `_IO_putc': putc.o(.text+0x0): multiple definition of `_IO_putc'
configure
を以下のように実行すると
libg++.a
を使用しないで済みます。
shell> CXX=gcc ./configure