vine-users ML アーカイブ



[vine-users:070385] Re: ALSA が うまくコンパイルできない

  • From: KONDOU Nobuhiro <nkon@xxxxxxxxxxxxx>
  • Subject: [vine-users:070385] Re: ALSA が うまくコンパイルできない
  • Date: Sat, 12 Feb 2005 00:33:55 +0900
近藤と申します。下記の件ですが、自己解決しました。
アドバイスいただいた、森山様、まちの様、ありがとうございます。

1. mkkpkg --enable-smp --target=i686 kernel-2.4.27-0vl7.3.src.rpm
   で作ると、kernel-headers が作成されない。
   kernel-2.4.27-i686-smp.config をベースにしたsmpカーネルができあがる。

   mkkpkg kernel-2.4.27-0vl7.3.src.rpm で作ると、
   kernel-headers が作成されるが、smp 関係の header file が含まれない。
   (menuconfig で SMP を有効にしているにもかかわらず)

2. alsa のバージョンチェックで、ひっかかる。次のようにして対処。
   2-1. cd /usr/src/linux/include/linux/
   2-2. cp version-up.h version-smp.h
   2-3. version-smp.h を編集。

< #define UTS_RELEASE "2.4.27-0vl7.31smp"
---
> #define UTS_RELEASE "2.4.27-0vl7.31"

   2-4. cp modversionus-up.h modversions-smp.h

3. rpm --rebuild --define multiple:1 alsa-driver-1.0.5a-0vl2.src.rpm

> 3. vmlinuz-2.4.27-0vl7smp は、poweroff コマンドが使えないので、
>    kernel-2.4.27-0vl7.3.src.rpm から APM を有効にした
>    SMP カーネルを作り直すことにする。
>    mkkpkg --enable-smp --target=i686 kernel-2.4.27-0vl7.3.src.rpm
>    とすると、kernel-2.4.27-0vl7.3k1.i686.rpm と
>     kernel-smp-2.4.27-0vl7.3k1.i686.rpm ができたので、smp カーネルの方を
>    インストール。poweroff コマンドは正常に働いた。
>    (0vl7.3k1 は、自作カーネルのリリース名)
>    kernel-headers などができていなかったので、
>    mkkpkg --enable-smp --target=i686 kernel-2.4.27-0vl7.3.src.rpm
>    を再度実行して作られた kernel-headers-2.4.27-0vl7.3k1.i386.rpm
>    をインストール。

ようやく、SMP(HyperThreading) で、poweroff ができて、
i865 内蔵サウンドで音が鳴り、i686 enhanced な環境が手に入りました。

(中身はよくわかっていませんが、i386,i486,i586,i686で -smp.config の内容
がかなり違っており、せっかくなので i686-smp.config を使いたかったのです。
本当はどれがいいのでしょうか????)

※注: まちの様ご指摘のとおり、 REL を 7.31 として試してみましたが、
      同様に無理でした。試してみた名残で、以前のメールで 7.3k1 としていた
      REL が 上の説明では 7.31 になっています。


> 森山です。
>   kernel-source-2.4.27-0vl7.3k1.i386.rpm も出来るハズなのですが、
> これもいれてますでしょうか?

入れても入れなくても同様でした。

>   /lib/modules/2.4.27-0vl7.3k1smp/build/include/linux/version.h 自体は
> あるのでしょうか?

ファイル自体はありました。
そこから読み込んでいる version-smp.h が無かったのでした。


> まちの です。
> > checking for kernel version... expr: syntax error
> > expr: syntax error
> > expr: syntax error
> > failed (probably missing /lib/modules/2.4.27-0vl7.3k1smp/build/include/linux/version.h)
> > エラー: /var/tmp/rpm-tmp.23295 の不正な終了ステータス (%build)
> 
> kernelのversionチェックがうまくいっていない様です。

rpm/BUILD/alsa-.../configure を実行してみると、
checking for kernel version のところで、
小さな C プログラムをコンパイルして、カーネルバージョンを調べているので
すが、<linux/version-smp.h>が読めないのでコンパイルエラーになっていまし
た。そのため、configure が失敗していました。

また、version-smp.h を作成して configure 通過後にコンパイルしていたら、
modversionus-up.h が無いため、途中で make が止っていました。


-- 近藤靖浩 <nkon@xxxxxxxxxxxxx>