- 2004年10月31日 00:00
- 日常
MySQL のコンパイルエラーはこんな感じ。↓
sql_lex.cc: In function `void lex_init()':
sql_lex.cc:85: `symbols' undeclared (first use this function)
sql_lex.cc:85: (Each undeclared identifier is reported only once
sql_lex.cc:85: for each function it appears in.)
sql_lex.cc:87: `sql_functions' undeclared (first use this function)
sql_lex.cc: In function `int find_keyword(LEX *, unsigned int, bool)':
sql_lex.cc:171: implicit declaration of function `int get_hash_symbol(...)'
sql_lex.cc:171: initialization to `SYMBOL *' from `int' lacks a cast
対処法を探すうち、中国語のページに行き当たる。
http://www.chinaunix.net/jh/6/411198.html
解決法:
cd sql
make gen_lex_hash
./gen_lex_hash > lex_hash.h
make
はあー。
しかしこれでどうにか make 終了。
この先はうまくいくだろう、と思ったら、甘かった。
今度は make test でコアダンプ。あぎゅぎゅー。
どうもこういうこと↓らしい。
日付が10/27。最新版でのバグだし、もうどうしようもないじゃん。
http://www.mysql.gr.jp/mysqlml/mysql/msg/10345
http://bugs.mysql.com/bug.php?id=6275
ためしに、--with-charset=ujis だけをはずして、
--with-extra-charsets=all をつけて再度 configure してみた。
今度は make も make test も問題なく通る。
ようやくうまくいったかー、と思って、mysqld を起動し、
web からデータベースにアクセスしてみた。
やっぱり文字化け。
もういいや。