mysql:291
From: Satoshi Koiwa <Satoshi Koiwa <koiwa@xxxxxxxxxx>>
Date: Wed, 21 Oct 98 22:39:14 +0900
Subject: [mysql 291] Re: DynaLoader.pmに怒られています
村上さん、早速にアドバイスありがとうございます。 ><考えられること1> >新しくインストールしたものが同じ 3.21 ならいいはずです。 >3.22 から mysql のソースに perl が含まれていないので、 >もし 3.22 で新規にサーバーを作ったのでしたら動かないと思います。 一週間くらい前に動いていた状態と全く同じディレクトリの中で./configureをする 際の--with-charset=のところを変えた「だけ」の「つもり」なんです。3.22には手 を出しておりません。 ><考えられること3> >perl が変な残り方、あるいは変なインストールと >なっているのではないでしょうか? >perl のパスから外れているだけかもしれません。 >perl への登録がおかしくなっているだけかもしれません。 3の方を先に。 MySQLのインストールを繰り返しているだけで、Perl本体はいじっていないんですが 、ロードされるモジュールの引っ張り先をどこで定義しているのかってことが狂っ ているってことだろうとはDynaLoader.pmを見てなんとなくわかったような気になっ ているんですが、具体的にどこを直せばよいのかがさっぱり……。 MySQLとかDBDとかDBIとかのファイル名が見える/usr/lib/perl5/site_perlの下の方 をゴッソリ削除してから再度MySQLのインストールをすると改めて /usr/lib/perl5/site_perlの下に諸々のモジュールができるんですが、それでもや っぱりダメなんです。 ><考えられること2> >perl をコンパイルするときを注意深く観察してほしいのですが、 >/usr/..../gcc-lib/.... -lgcc >(あるいは /usr/..../gcc-lib/.../libgcc.a) >などというライブラリーの指定は含まれているでしょうか? >もちろん、mysql をコンパイルしたときに付加されたライブラリー >(-lm とか -lz とか、システムによって違います) >も同時に付加されていなくては動かないと思います。 > >確認方法は、 > >nm --dynamic /usr/...../mysql.so >として、divd3 とかが U であれば、libgcc が付加されていません。 divd3という文字列は出てこない……です。うーむ。 >(gcc-2.7.2.1 では -lgcc でもリンクしてくれないので、 > gcc-2.7.2.3 にしなくてはなりません。) # gcc -v Reading specs from /usr/lib/gcc-lib/i586-unknown-linux-gnulibc1/2.7.2.3/specs gcc version 2.7.2.3 ということなんで、これそのものはそんなに違ってはいないだろうと思います。 >ldd /usr/...../mysql.so >でその他の -lm などのライブラリーが付加されて >コンパイルされているか確認できます lddだと # ldd Mysql.so ldd: can't execute Mysql.so (No such file or directory) といわれてしまいます。 今さっき思い出したんですが、一週間ほど前までちゃんと動いていた mysql-3.21.33bは、もともとmysql-3.21.33だったものを上書きインストールのよう なことをしたものだったんです。とすると、そのあたりなのか。しかし現状をどう すればいいんだぁっ。 とりあえず、/usr/local/mysql/perl/Mysql-modules/Mysqlの中にあるMysql.cとか Makfile.PLとかを見てみることにします。
-> 291 1998-10-21 22:39 [Satoshi Koiwa <koiwa] Re: DynaLoader.pmに怒られています 294 1998-10-22 00:57 ┗[<takeshi@xxxxxxxxxx>]