- 2004年10月30日 00:00
- 日常
いやはや。
Solaris 9 にもろもろのインストール大会。
面倒なのであれもこれもパッケージで入れまくり。
ただし、Perl のモジュール(DBI、DBD-mysql)はバイナリの配布パッケージが
ないのでソースからコンパイルするべえと思ったら、
DBD-mysql がコンパイルできない。
あれー、おっかしいなあーと思ってごちゃごちゃやること数時間。
原因は、単にライブラリへのパスが通っていないことだった。
だってさあ、Solaris って ldconfig とかないんだもん。
configure のときに環境変数で設定するって、知らなきゃ分からん。
あ、その前に、su できない事件。
これは本当にあせった。クラックされたかと思った。
原因は、coreutils パッケージで /usr/local/bin/su を入れたこと。
(パス中 /usr/local/bin が最優先になっているのでこちらが起動していた)
それでなんで incorrect password なんていわれるのかわからんが。
その他もろもろの障害を乗り越えて、ようやくシラバスDBのコピーを作り、
さていよいよ web からアクセス。
動いたー! と思ったら文字化けしている。
どうも、MySQL(パッケージで入れた)が utf8 オプションをつけずに
コンパイルされている模様。ああー。
仕方ないのでソースからコンパイルするかぁと思ったら、
make の途中でこける。configure は通るのに。
パスとかなんとかいろいろ試して、またさまようこと半日。
原因は、ヘッダファイル中の type 宣言の欠損であった。
なんでー。そんなばかなぁ〜。
これは備忘録的に書いておく。
/usr/include/ia32/sys/reg.h に、次の一行を追記。
typedef long double upad128_t;
ついでに、MySQL の configure オプションも。
LDFLAGS="-R/usr/local/lib -L/usr/local/lib" \
CPPFLAGS="-I/usr/local/include -I/usr/include" \
CC=/usr/local/bin/gcc \
CXX=/usr/local/bin/c++ \
CXXFLAGS=-O3 \
CFLAGS=-O3 \
./configure --prefix=/usr/local \
--with-charset=ujis --with-extra-charsets=all --with-mysqld-user=mysql \
--with-client-ldflags=-R/usr/local/lib \
--with-mysqld-ldflags=-R/usr/local/lib \
--with-lib-ccflags=-R/usr/local/lib
はあー。
あんまり趣味でやるもんじゃないなあ。
そんなにあたらしいこといくつもやる時間的余裕ないよー。
そしていまコンパイル中。困憊る中。
こんどはうまくいけよ〜。
キャンディードぉー。あしたこそ。
・・・
ううう…
コンパイルこけた…
gcc コンパイルし直すかぁ…
その前に binutils かなあ。はあー。
(現在3:50)