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

[plamo:15050] Re: make stopped with "multiple definition of`__module_kernel_version'"



山口@金沢市 です。

# 間接的に呼ばれたような気がしたので出てきました

<20020813.020326.730561312.takuya@scorpio.yamaguch.jp>の記事において
山口 卓也さんは書きました。

> -=-=-
> % ./configure
> % make
> (snip)
> ln -sf ../isa/sb/snd-sb8.o /usr2/takuya/temp/alsa/alsa-driver-0.9.0rc2/modules/snd-sb8.o
> ln -sf ../isa/sb/snd-sbawe.o /usr2/takuya/temp/alsa/alsa-driver-0.9.0rc2/modules/snd-sbawe.o
> rm -f snd-emu8000-synth.o
> ld  -r -o snd-emu8000-synth.o emu8000_synth.o emu8000_callback.o emu8000_patch.o emu8000_pcm.o
> emu8000_pcm.o(.modinfo+0x0): multiple definition of `__module_kernel_version'
> emu8000_synth.o(.modinfo+0x0): first defined here
> emu8000_pcm.o(.modinfo+0x16): multiple definition of `__module_using_checksums'
> emu8000_synth.o(.modinfo+0x16): first defined here
> make[2]: *** [snd-emu8000-synth.o] エラー 1
> make[2]: 出ます ディレクトリ `/usr2/takuya/temp/alsa/alsa-driver-0.9.0rc2/isa/sb'
> make[1]: *** [_modsubdir_sb] エラー 2
> make[1]: 出ます ディレクトリ `/usr2/takuya/temp/alsa/alsa-driver-0.9.0rc2/isa'
> make: *** [compile] エラー 1
> -=-=-

手元の環境(kernel 2.4.18, gcc 3.1.1, binutils 2.12.1)だと
すんなり通ってしまっているので謎ですね...

後ろ向きな解決方法としては、

  * もしサウンドカードが SoundBlaster 系でないなら

      ./configure --with-cards=...

    と、該当カード用のモジュールのみコンパイルするようにして逃げる
  * カーネルを「モジュールバージョンをチェックしない」オプションで
    コンパイル/インストール して ALSA のコンパイルをする
  * この際カーネルを 2.4 系にしてしまう

などありますが、とりあえず試してみてほしいのは、

  最新版の ld(binutils) を使う

ですね。
# Plamo 2.2.1 の binutils は結構古かったような気がする
-- 
山口 真悟 (YAMAGUCHI Shingo)
shingo-y@spacelan.ne.jp
shingo@kip.iis.toyama-u.ac.jp

Follow-Ups
[plamo:15070] Re: make stopped with "multiple definitionof`__module_kernel_version'", Takuya YAMAGUCHI
References
[plamo:15047] make stopped with "multiple definition of`__module_kernel_version'", Takuya YAMAGUCHI

[検索ページ] [メール一覧]
Plamo ML 公開システム