ubuntuでカーネルのコンパイルができない原因と解決方法

このQ&Aのポイント
  • Linux系OSのubuntu環境で、カーネルのコンパイルをした際にエラーメッセージが表示されました。エラーメッセージによると、バージョン文字列が正しくないためコンパイルが途中で止まってしまっています。
  • 原因は、バージョン文字列の先頭が数字ではなくテストのような文字列になっていることです。この状態ではパッケージファイルが生成されず、カーネルのコンパイルが完了しません。
  • 解決方法としては、バージョン文字列を正しい形式に修正する必要があります。バージョン文字列は数字で始まる必要があります。修正後に再度カーネルのコンパイルを行えば、パッケージファイルが生成されます。
回答を見る
  • ベストアンサー

ubuntuでカーネルのコンパイルができません。

PC知識についての質問です。 Linux系OSのubuntu環境で、カーネルのコンパイルをしたところ、コンパイルが途中で止まった模様です。結果、パッケージファイルの~.debが生成されませんでした。原因は何なんでしょうか?みなさん のお知恵をおかしください。 【エラーメッセージ】 バージョン文字列 'test.0.1' にエラー: version number does not start with digit make[2]: *** [debian/stamp/binary/linux-image-2.6.38.2] エラー 2 make[2]: ディレクトリ `/usr/src/linux-source-2.6.38' から出ます make[1]: *** [debian/stamp/binary/pre-linux-image-2.6.38.2] エラー 2 make[1]: ディレクトリ `/usr/src/linux-source-2.6.38' から出ます make: *** [kernel_image] エラー 2

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

「一行目に書いてあること」はちゃんと読んでますか。 > version number does not start with digit 「バージョン番号がdigit(数字)で始まってない」って書いてあるんですよ? 要するに'test.0.1'というバージョン番号は不正なので受け付けないって事です。

goo7102_00
質問者

お礼

すみません。一行目に書かれていた事をちゃんと理解してませんでした。 コマンドラインで指定するリビジョン番号を直したら、コンパイルが成功した模様です。 まだ、コンパイル中ですで、時間も掛かりそうなので先にお礼申し上げます。

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

一行目に書いてある通りだと思いますが。

goo7102_00
質問者

補足

それなんですが、既にググって色々調べた結果、リポジトリが無効になっているのが原因の一つではないかと考えたりました。しかし、リポジトリの有効設定をしても変わらず、ttf-ipamonafontというパッケージに関わる処理もしてみたのですが、それでもコンパイルが成功しないんです。

関連するQ&A

  • カーネルのコンパイルでエラー

    添付の解説に従い、Debian、Etchにカーネルを再構築しているのですが、 # make-kpkg clean #fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers の後で、最は make[1] scripts/Makefile.clean: no such file or directory make[1] *** No rule to make targe 'scripts/Makefile.clean'. Stop. make *** [archclean] Error 2 で、今回は make [1]: *** [.tmp_vmlinux1] Error 1 make [1]: Leaving directory 'usr/src/linux-2.6.21.3' make: *** [debian/stamp/build/kernel] Error 2 とエラーの表示が出てきます。 どこを正せばよいか、ご教授をお願い申し上げます。 尚、解説書にあるカールのパッチはしていません。 http://www.howtoforge.com/kernel_compilation_debian_etch

  • Debian(woody)のカーネルのソースを取得したい

    /usr/src/配下にDebian(woody)のカーネルのソースを配置したいのですがどうしたらよいでしょうか?? 現在は空っぽです。 私のDebianの知識もほとんどありません。 apt-getしたらいいのかなと思いいろいろ検索し情報収集してるのですが、なかなか該当する情報を得られず質問させていただきました。 用途としてはlinux-wlan-ngのmake config時の"Linux source directory"参照先にしたいのです。 どうぞよろしくおねがいいたします。

  • Debian(amd64)でdriverをコンパイルに失敗する

    Debian(amd64)でdriverをコンパイルに失敗する DebianでPT1のドライバをコンパイルしようとしたところ、 make[1]: ディレクトリ `/lib/modules/2.6.26-2-amd64/build' に入ります make[1]: *** ターゲット `modules' を make するルールがありません。中止 make[1]: ディレクトリから `/lib/modules/2.6.26-2-amd64/build' 出ます make" ***[pt1_drv.ko] エラー 2 となりドライバが作成できません。 調べたところmakeに失敗するのは下記がバージョンがずれているときと出ていましたがこれ以上は疎くわかりません。 dpkg -l | grep linux-source ii linux-source-2.6.26 2.6.26-24lenny1 dpkg -l | grep linux-headers ii linux-headers-2.6.26-2-amd64 2.6.26-24lenny1 ii linux-headers-2.6.26-2-common 2.6.26-24lenny1

  • LKMを用いたカーネル2.6でのシステムコールのフック

    度々すみません。 LKMを使ったシステムコールのフックに挑戦しているのですがうまくいかずに悩んでいます。 お力を貸していただけたら嬉しいです。 ディストリビューション: Debian 4.0r4 カーネル: 2.6.24 以前2.6.18のカーネルを使っていたのですが、使用するカーネルのバージョンを上げました。 開発前にやったことをすべて書いておきます。 ・ linux-source-2.6.24_2.6.24-6~etchnhalf.7_all.deb ・ linux-headers-2.6.24-etchnhalf.1-686_2.6.24-6~etchnhalf.7_i386.deb ・ linux-kbuild-2.6.24-1~etchnhalf.1_i386.deb をダウンロードし、dpkg -i *.deb で展開。 /usr/src/linux-source-2.6.24/arch/x86/kernel/i386_ksyms_32.c の末尾に以下の2行を追加 extern void *sys_call_table[]; EXPORT_SYMBOL(sys_call_table); 変更後以下の手順でカーネルコンパイル cp /boot/config-2.6.18-6-686 .config make menuconfig (Enterを押しっぱなしにして設定終了) make-kpkg --initrd kernel_image dpkg -i (kernel_image).deb 書いたプログラムは以下です。 #include <linux/module.h> #include <linux/init.h> #include <linux/syscalls.h> #include <linux/utsname.h> #include <asm-x86/unistd_32.h> MODULE_LICENSE("GPL"); extern void *sys_call_table[]; static char *msg = "[message.o]:"; asmlinkage int (*orig_open)(const char *pathname, int flags); asmlinkage static int hook_open(const char *pathname, int flags) { printk(KERN_INFO "hook_open(\"%s\", %d)\n", pathname, flags); return orig_open(pathname, flags); } static int message_module(void) { printk(KERN_INFO "%s loaded\n",msg); printk(KERN_INFO "%s hook_init\n", msg); orig_open = sys_call_table[__NR_open]; sys_call_table[__NR_open] = hook_open; return 0; } static void message_remove(void) { printk(KERN_INFO "%s removed\n", msg); printk(KERN_INFO "%s hook_exit\n", msg); sys_call_table[__NR_open] = orig_open; } module_init(message_module); module_exit(message_remove); コンパイルすると以下のようなエラーが出ます。 user@debian:~/lkm/message$ make make -C /lib/modules/2.6.24/build M=/home/user/lkm/message modules make[1]: ディレクトリ `/usr/src/linux-source-2.6.24' に入ります Building modules, stage 2. MODPOST 1 modules WARNING: "sys_call_table" [/home/user/lkm/message/message.ko] undefined! make[1]: ディレクトリ `/usr/src/linux-source-2.6.24' から出ます 長文で申し訳ありませんが、お力をお貸しください。 宜しくお願いします。

  • ubuntu上でVMware server

    make: Entering directory `/tmp/vmware-config5/vmmon-only' make -C /lib/modules/3.0.0-19-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/linux-headers-3.0.0-19-generic' CC [M] /tmp/vmware-config5/vmmon-only/linux/driver.o /tmp/vmware-config5/vmmon-only/linux/driver.c:39:28: fatal error: linux/smp_lock.h: No such file or directory compilation terminated. make[2]: *** [/tmp/vmware-config5/vmmon-only/linux/driver.o] Error 1 make[1]: *** [_module_/tmp/vmware-config5/vmmon-only] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-19-generic' make: *** [vmmon.ko] Error 2 make: Leaving directory `/tmp/vmware-config5/vmmon-only' Unable to build the vmmon module. といわれ、コンパイルがうまくいきません。 どのようにしたらこの先に進むことができるでしょうか? ご教授お願い致します。

  • CentOS6.2のカーネルコンパイル

    CentOS6.2でカーネルをコンパイルしようとmakeすると以下のエラーがでました。 対処方法などがあればよろしくお願いします(><) # make CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-x86 make[1]: *** ターゲット `missing-syscalls' を make するルールがありません. 中止. make: *** [prepare0] エラー 2

  • カーネル再構築失敗

    お世話になります。 RedHat 7.2、カーネルのバージョンを上げるため作業をしていましたが、/usr/src 内に linux シンボリックリンクを削除せず新しいカーネルを置いてしまいました。それが原因か、/src 内には 5つのディレクトリ(redhat, linux, linux-2.2.16, linux-2.4.9-13, linux-2.4 )ができてます。 この間違いに気づかす、 某HP 参考に、 make mrproper → make xcpnfig → make dep → make bzdisk と作業を行いました。で、FDをいれて再起動したのですが、当然のごと起動しませんでした。(4桁(だったと思います)の数字がひたすら画面に出力されつづけてます。) どこから手をつけていいかわかりません。よろしくお願いします。

  • Debian squeezeのカーネルソースの場所

    現在、Debian squueze(kernel:2.6.32-5-amd64)を入れたPCに 無線LAN(RaLink RT2860)のドライバをインストール(コンパイル)するため、 付属のReadmeを読みながらMakefileの設定を行っています。 しかし、肝心のカーネルソースが自分のPCのどこにあるか分からず、 Makefile内のカーネルソース(LINUX_SRC)をどう指定すればよいのか分かりません。 どのように設定、もしくはどのようにして調べたら良いのでしょうか? Makefile内の該当箇所を以下に抜粋します。 (このままmakeを実行してもエラーが出ます。) =================================================== ifeq ($(PLATFORM),PC) # Linux 2.6 LINUX_SRC = /lib/modules/$(shell uname -r)/kernel/build # Linux 2.4 Change to your local setting #LINUX_SRC = /usr/src/linux-2.4 LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/ CROSS_COMPILE = endif =================================================== Linuxを始めてまだ一週間程度で右も左も分からないので、 変な質問の仕方をしているかもしれませんが、 是非ご教授、アドバイス等を頂きたいと思います。 よろしくお願いします。

  • macでカーネルのディレクトリはどこにありますか

    linuxカーネル用のディレクトリはたいてい/usr/src/linuxにあると本に書いてあったのですが、macではどこに置いてあるのですか。/usrのしたにはには/srcはありません。 ご回答よろしくお願いします。

  • 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