FreeBSD QandA 658

FreeBSD QandA

Q. あるプログラムを実行しようとしたら、
   /usr/libexec/ld.so: warning: /usr/lib/libc.so.3.0:
   minor version 0 older than expected 1, using it anyway
   のようなエラーになります。どうしたら良いでしょうか?

A. 例えば,あなたが利用しているのが FreeBSD 2.2.1-RELEASE なのに、
   FreeBSD 2.2.6-RELEASE 用の package をインストールしてしまった、などと
   いう場合にこのエラーが出ます。
   つまり、ある特定バージョンの OS 用にダイナミックリンクするよう作成され
   たプログラムを、それより古いバージョンの OS で実行しようとした場合に出
   るエラーです。そのプログラムを実行しないのが賢明ですが、どうしてもその
   プログラムを実行(利用)したいのであれば、
     1. 自分が使用しているバージョン用のプログラムを入手する。
        (FreeBSD 2.2.1-RELEASE を使用しているのなら、
        FreeBSD 2.2.1-RELEASE 用のプログラムを入手する)
     2. ports を使うなどして自分でコンパイルし直す。
     3. 最新の RELEASE に Upgrade する。
   という方法をとらなければなりません。

   「shared library(上記の例だと libc.so.3.1 です)
     だけ新しい物を持って来る。」
   や、
   「今 持っている shared library を copy して、
     バージョン番号だけをごまかす。」
   などの無理な対処は、プログラムの誤動作を引き起こす可能性があり、非常に
   危険ですからやめましょう。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。