[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:03727] Re: userlink デバイスドライバー?



石川@静大です。

 Masato Taruishi <taruisma@xxxxxxxxxxxxx> さんは
   Subject:[debian-users:03726] Re: userlink 	デバイスドライバー?
   Message-ID:<19980109023028L.taruisma@xxxxxxxxxxxxx>
 で言いました。

>> 樽石@電通大です。

>> > このエラーなんでしょう? modeule 関係だとはわかるんだけど
>> > 一体 どういう時にでるんでしょうね?
>> モジュールの依存性が解決できないときにでるエラーです。

 っていうのは正しいですが、

>> 言い替えればカーネルがこのモジュールをいつロードすればいいのかが
>> わからない場合に起こります。
>> 上のuserlink(ってよく知らないのであまりつっこめませんが)の場合
>> も同様でカーネルがいつこのモジュールをロードすれば良いのか
>> わかりませんよ。と言ってるのです。

 つーのは、ちょっと違うと思います。

 例えば、hogehoge.o というモジュール中で halehole() という関数を呼び出
していたとします。で、hogehoge.o 中ではこの関数は定義されておらず、
halehole() は halehole.o で定義されていたとします。

 この場合、hogehoge.o を組み込んで、正常に動作させるためには
halehole.o をあらかじめ組み込んでおかなくてはなりません。つまり、
hogehoge.o は halehole.o に依存しているということです。

 つまり、depmod はこの辺の「あるモジュールに含まれている未定義のシンボ
ルを定義(かつ EXPORT)しているモジュールはどれか(つまり、どのモジュール
を組み込む必要があるのか)」という情報を集めて、各カーネルモジュール間
の依存関係をファイルに書き出すわけです。

 つまり、

  /lib/modules/2.0.29/net/userlink.o: unresolved symbol(s)

の様なメッセージが出る場合ってのは、userlink.o 中で利用されていて未定
義になっているシンボルを 1) 同じバージョンのモジュール中 2) 現在動作
中のカーネルの両方から探したが、そのシンボルに該当するものが見つから
ず、解決できなかった。ということを表します。

 それでもって、depmod -a -e とすると、解決できなかったシンボルを表示し
てくれると思います。これで何と出るか見てみましょう。


 From Shizuoka Univ.
  ishikawa@xxxxxxxxxxxxxxxxxxxxx, ishikawa@xxxxxxxxxxx, ishikawa@debian.or.jp
      **  石川 睦@静岡大学理工学研究科博士前期課程2年(渡辺研究室) ** 

 私家版 f.o.l FAQ (Last Update : 1997/12/24)
   http://aurum.cs.inf.shizuoka.ac.jp/~ishikawa/linux/faq/faq-list.html