[前][次][番号順一覧][スレッド一覧]

mysql:1574

From: <takeshi@xxxxxxxxxx>
Date: Mon, 14 Feb 2000 13:43:54 +0900
Subject: [mysql 01574] Re: mysql-ruby のインストール

At Mon, 14 Feb 2000 11:06:43 +0900,
N.Yoshida <yosh_no@xxxxxxxxxx> wrote:
> 
> >
> >不思議ですね…。
> >
> >mysql.so 以外ではどうでしょうか? 例えば socket.so とか。
> >
> >	$ ruby -rsocket -e 1
> >
> >…で試せます。
> >
> 
>   socket.soなどrubyのインストール時に用意されるモジュールについても確かに
> ファイルとしてはあるのに lddコマンドでは無いように認識されています。
> 
>   私の環境はSlackware 3.5ベースのlinuxでkernel 2.2.12、libc5ですが以下のよ
> うになりました。
> 
> ------------------------------------------------------------------------------
> fz000785:~# ls -l /usr/local/lib/ruby/1.4/i586-linux/mysql.so
> -r-xr-xr-x   1 root     root        77115 Feb 10 12:55 /usr/local/lib/ruby/1.4/i
> 586-linux/mysql.so*
> fz000785:~# ldd /usr/local/lib/ruby/1.4/i586-linux/mysql.so
> ldd: can't execute /usr/local/lib/ruby/1.4/i586-linux/mysql.so (No such file or
> directory)
> fz000785:~# ls -l /usr/local/lib/ruby/1.4/i586-linux/socket.so
> -r-xr-xr-x   1 root     root       122471 Feb  9 20:39 /usr/local/lib/ruby/1.4/i
> 586-linux/socket.so*
> fz000785:~# ldd /usr/local/lib/ruby/1.4/i586-linux/socket.so
> ldd: can't execute /usr/local/lib/ruby/1.4/i586-linux/socket.so (No such file or
>  directory)

ldd: can't execute は、
バイナリに埋め込まれている ld-linux.so と、
ldd を実行したマシンの ld-linux.so が一致していない場合でます。
あるいは、ld-linux.so と ldd が一致していない場合
(ld.so と ldd は同じソースから、コンパイル & install される)

linux の dynamic link されたバイナリは、ld-linux.so.X (Xはバージョン番号)
を、フルパス指定で、自分に埋め込んでいます
less, hex 等のバイナリが見れるコマンドで、バイナリの中身を覗いてみると、
ld-linux.so.X が、フルパスで埋め込まれているのが確認できます。
この埋め込まれているものと、マシンに存在するものが
一致しないと、このdynamic link されたバイナリはうごかないです

問題は、
 ld.so が不正なのか
 ldd が不正なのか、
 gcc がまちがってリンクしたのか
 mysql.so が、単に作成されたときに間違ったのか
あたりだと思います

shell$ ruby
 は起動するか
shell$ ruby -e "require 'socket'"
 は起動するか
socket.so と mysql.so が同じ ld-linux.so を見ているか

これらがクリアされているのに、

shell$ ruby -e "require 'mysql'"

が動かないなら、原因は、
  mysql.so を作成したとき、指定するライブラリが足りなかった
  mysql.so が必要としているライブラリが見つからなかった
  libmysqlclient.so へのパスが通っていない
  コンパイルに使用した gcc がわるい
ぐらいしかないと思います

-- 
 村上 毅  takeshi@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]

      1562 2000-02-10 10:06 ["N.Yoshida" <yosh_no] mysql-ruby のインストール               
      1563 2000-02-10 12:22 ┗[とみたまさひろ <tomm]                                       
      1564 2000-02-10 13:01  ┗["N.Yoshida" <yosh_no]                                     
      1565 2000-02-10 14:25   ┗[とみたまさひろ <tomm]                                   
      1570 2000-02-14 11:06    ┗["N.Yoshida" <yosh_no]                                 
      1571 2000-02-14 11:29     ┣[とみたまさひろ <tomm]                               
      1572 2000-02-14 12:50     ┃┗["N.Yoshida" <yosh_no]                             
      1573 2000-02-14 13:08     ┃ ┗[とみたまさひろ <tomm]                           
->    1574 2000-02-14 13:43     ┗[<takeshi@xxxxxxxxxx>]                               
      1575 2000-02-14 13:54      ┣[<takeshi@xxxxxxxxxx>]                             
      1576 2000-02-14 15:00      ┗["N.Yoshida" <yosh_no]                             
      1577 2000-02-14 16:34       ┗[<takeshi@xxxxxxxxxx>]                           
      1578 2000-02-15 10:06        ┗["N.Yoshida" <yosh_no]                         
      1579 2000-02-15 10:16         ┗[とみたまさひろ <tomm]                       
      1580 2000-02-15 10:45          ┗["N.Yoshida" <yosh_no]                     
      1581 2000-02-15 11:20           ┣[とみたまさひろ <tomm]                   
      1584 2000-02-15 13:23           ┗[UENO Kazuaki <kazu@x]