- 締切済み
Debianカーネル再構築の際のコンパイルエラーの対処方法について
現在、Debianカーネル2.6.16(Sarge)を用いています。 新しく2.6.20にカーネルの再構築を行おうとしております。 カーネルのコンパイルを行うと、下記のようなエラーが発生して、進まなくなってしまいました。 エラーの対応方法についてご教授頂ければと思います。 よろしくお願いします。 ===== /usr/src/linux-2.6.20# make vmlinux CHK include/linux/version.h CHK include/linux/utsrelease.h CHK include/linux/compile.h GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 local symbol 0: discarded in section `.exit.data' from drivers/built-in.o local symbol 1: discarded in section `.exit.data' from drivers/built-in.o local symbol 2: discarded in section `.exit.data' from drivers/built-in.o local symbol 3: discarded in section `.exit.data' from drivers/built-in.o make: *** [.tmp_vmlinux1] Error 1
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tthe_mine
- ベストアンサー率46% (19/41)
rules の331行目あたりが powerpc arch の処理になってますね。 make-kpkg の --subarch 引数か KPKG_SUBARCH 環境変数に、 apus prpmc chrp mbx pmac prep Amiga APUs CHRP MBX PReP chrp-rs6k nubus から適当な sub arch を選んで設定してください。 Mac だったら pmac かな。
- tthe_mine
- ベストアンサー率46% (19/41)
dpkg-architecture コマンドを実行すると、どのように表示されますか? /usr/share/kernel-package/rules を読むと KPKG_ARCH 環境変数が指定されていないとすると、 dpkg-architecture コマンドを実行した結果でてくる DEB_HOST_GNU_CPU によって処理が切り分けられているようです。
補足
dpkg-architecture コマンドを実行すると以下のような出力結果となります。 $ dpkg-architecture DEB_BUILD_ARCH=powerpc DEB_BUILD_GNU_CPU=powerpc DEB_BUILD_GNU_SYSTEM=linux DEB_BUILD_GNU_TYPE=powerpc-linux DEB_HOST_ARCH=powerpc DEB_HOST_GNU_CPU=powerpc DEB_HOST_GNU_SYSTEM=linux DEB_HOST_GNU_TYPE=powerpc-linux CPUはi386系ではなく、PowerPC系です。 コンパイルを実行する前に"export ARCH=ppc"と環境変数は指定しております。 その他何かありますでしょうか?
- tthe_mine
- ベストアンサー率46% (19/41)
gccいくつ使ってますか? あと、 make-kpkg つかったほうが楽かもしれません。
補足
まず先にカーネルは2.6.18をターゲットに変更しました。 gccのバージョンは3.3.5です。 $ gcc -v gcc バージョン 3.3.5 (Debian 1:3.3.5-13) make-kpkgを行うと下記のようなエラーが出力されてうまくいきません。 # make-kpkg --revision=2.6.18 kernel-image /usr/share/kernel-package/rules:1637: *** Error. I do not know where the kernel image goes to [kimagedest undefined] The usual case for this is that I could not determine which arch or subarch tihs machine belongs to. Please specify a subarch, and try again.. Stop.
補足
アドバイス頂いた通りに--subarch=pmacでmake-kpkgしました。 以下のようなエラーが出力されてしまいます。 drivers/mtd/mtdconcat.c:182: warning: comparison of distinct pointer types lacks a cast drivers/mtd/maps/physmap.c:172:2: warning: #warning using PHYSMAP compat code local symbol 0: discarded in section `.exit.data' from drivers/built-in.o local symbol 1: discarded in section `.exit.data' from drivers/built-in.o local symbol 2: discarded in section `.exit.data' from drivers/built-in.o local symbol 3: discarded in section `.exit.data' from drivers/built-in.o make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [stamp-build] Error 2