- ベストアンサー
include の場所
Fedora10でvmwareを使っていましたが、定期的なupdate systemで環境が変わったみたいで、使用できなくなりました。 どうやら、kernelの C header files がないようです。 /usr/src/linux/include の場所が変わったのでしょうか? どの場所に変わったか?教えていただけませんか? kernel 2.6.27.29 gcc 4.3.2
- kurosansan
- お礼率56% (31/55)
- Linux系OS
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ホストOSがFedora10でその上でVMwareServerを動かしていると言うことですか? >使用できなくなりました。 具体的な現象はなんでしょう?なにをしたらどうなったという、現象、メッセージを具体的に。
関連するQ&A
- CentOS5にvmware-toolsのインストール
vmwareにCentOSでデスクトップ環境を作っています。ホストとゲスト間のコピー&ペーストがしたいのですが、vmware-toolsのインストールで困っています。 環境は以下の通りです。 Host OS:Windows XP + VMware5.5.1 Guest OS:CentOS 5および5.1 vmware-toolsをインストールする際にkernel-headerの要求で詰まってしまいます。ネットで調べると定番の問題のようでkernel-source またはkernel-develのインストールでよいとのことで、確認すると既にインストールされています。しかしdefaultで聞かれる[/usr/src/linux/include] は存在しません。 現在のカーネルのバージョンは > uname -a Linux hostname 2.6.18-53.1.4.el5 #1 SMP Fri Nov 30 00:45:16 EST 2007 i686 i686 i386 GNU/Linux となっており、この番号を元に検索すると以下のディレクトリがありました > find / -name 2.6.18-53* -print /usr/src/kernels/2.6.18-53.1.4.el5-i686 /lib/modules/2.6.18-53.1.4.el5 そこでこれらをpathに与えてみました。defaultのpathにリンクを張っても見ましたが What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] /lib/modules/2.6.18-53.1.4.el5/build/include The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match your running kernel (version 2.6.18-53.1.4.el5). Even if the module were to compile successfully, it would not load into the running kernel. What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] となり堂々巡りです。 インストールの方法は、rpmとtarball両方試しました。 ネット上では皆さんkernel-develをいれて解決されている用なのですが、いったい何が間違っているのでしょうか?
- 締切済み
- Linux系OS
- PCI-EXpressのLANボード増設方法について
PCI-EXpress版LANボードの増設に伴い、ドライバーのインストール方法がわかりません。 何かわかる方がいましたら教えて下さい。 宜しくお願い致します。 (環境) LANボード:SysKonnect SK-9E21D マシン:4700C(DELL) OS:linux(フェドラコア3) カーネルVer:2.4.20-8 (現状) install.sh起動 カーネルのソースが無い事が原因でエラー となっていたので redhatのサイトよりダウンロードした カーネルのソースを/usr/src/redhatに コピーしました。(kernel-2.4.20-8.src.rpmのみ) 結果は変わりません。 (includeファイルが見つかりません。) (エラー内容) Check kernel header files (not found) Kernel header not found. Please install the linux header files development package or crate asymbolic link from the /usr/src/KERNEL_VERSION directory to linux Example: ln -s /usr/src/KERNEL_VERSION /usr/src/linux
- 締切済み
- Linux系OS
- Knoppix5.3.1のmakefileについて教えてください。
VMware Server1.6でKNOPPIX5.3.1CD日本語版をHDDインストールしました。 引き続き、VMware Toolsをインストールしたいのですが、途中で止まってしまいます。 カーネルのバージョンは2.6.24.4です。 ■止まった箇所 What is the location of the directory of C header files that match your running kernel?[/usr/src/linux/include]でEnterを実行 ■エラーコメント The path "/usr/src/linux/include" is not an existing direcrory. おそらく、include pathを指定していないことが原因だと思い、debian リファレンスの7.1.2 「Kernelヘッダ」を参考にしたところ、makefileを変更するようです。 http://www.debian.org/doc/manuals/reference/ch-kernel.ja.html そのmakefileの変更方法がわかりません。ご教授お願いします。 また、私の原因予想事態が間違っているならば、ご指摘ください。 よろしくお願いします。
- 締切済み
- Linux系OS
- Linux C言語開発 インクルードについて
C言語開発初心者です。 LinuxでC言語開発をするにあたり、どのディストリビューションにしても インクルードしたいヘッダファイルが既定の場所には無く別の場所にカーネルのバージョンごとに保存されているようなのです。 このままコンパイルを試みるとインクルードファイルが存在しませんとエラーが返ります。 既定のヘッダファイルの保存場所にはC言語開発に必要なヘッダファイルが存在しませんので、この問題を皆さんはどのように解決しておりますか?どなたかご教授お願いいたします。 C言語でincludeする場所は<>でくくった場合 /usr/include/ 以下を参照する設定になっていると思うのですが、 例えばmodule.h やinit.h などの開発用ヘッダファイル?を探してみると /usr/include/linux/ には存在せず、 find / -name module.h と入力して検索してみると /usr/src/kernels/2.6.32-131.21.1.el6.i686/include/linux/module.h と別な場所にあります。 ネットであれやこれや調べてみても コンパイル時にincludeの参照先を指定する方法はあるようなのですが、 コンパイルする度にいちいち指定するのは面倒だと思います。(gcc -I) かといって開発しているカレントディレクトリにヘッダファイルをコピーしても includeするヘッダファイルが別のヘッダファイルを参照することもあるようなので、 あまり現実的ではないようです。 一番安全な方法としてincludeする参照先が環境変数か何かで追加及び変更するのではないかと思います。 試してみましたがenvコマンドで表示されるOSの環境変数とは別のもののようなのです。 環境変数 C_INCLUDE_PATH とはどのようにして変更・追加するのでしょう? また、上記の方法以外で良い方法がございましたらそれでもかまいません。 よろしくお願いいたします。 開発環境 ・OS centos6 ・以下のパッケージはインストール済み kernel-headers-2.6.32-131.21.1.el6.i686 kernel-devel-2.6.32-131.21.1.el6.i686 make-3.81-19.el6.i686 gcc-4.4.5-6.el6.i686 ・GUI開発環境 netbeans ・uname -r 実行結果 2.6.32-131.21.1.el6.i686
- ベストアンサー
- C・C++・C#
- Centos5.3にVmwareインストール
できません。VMをrpmでインすトールし、コンフィグ設定のため以下コマンドを打つと下記メッセージが出ます。 [root@localhost vm]# vmware-config.pl What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] カーネルソースとRunning kernelに相違があるのですか? 解決策をご教授願います。 p.s. 現在のrunning kernel↓ [root@localhost ~]# uname -r 2.6.18-128.el5
- 締切済み
- Linux系OS
- Linux7.3のカーネルのある場所
Linux7.3をインストールしました。 VMwareを使用したいと思い、インストール使用とした ところ、VMwareが言うてる場所にはカーネルは ありませんでした。 どなたか、カーネルのあるパスを教えて 頂けないでしょうか。
- 締切済み
- その他(OS)
- centos5.4をvmwareserver上で使っています。 vmware-install.plがうまくいきません。
gccはインストールされています。 [root@localhost vmware-tools-distrib]# ./vmware-install.pl A previous installation of VMware software has been detected. The previous installation was made by the rpm installer (version 3). Converting the rpm3 installer database format to the tar3 installer database format. Installing the content of the package. In which directory do you want to install the binary files? [/usr/bin] What is the directory that contains the init directories (rc0.d/ to rc6.d/)? [/etc/rc.d] What is the directory that contains the init scripts? [/etc/rc.d/init.d] In which directory do you want to install the daemon files? [/usr/sbin] In which directory do you want to install the library files? [/usr/lib/vmware-tools] The path "/usr/lib/vmware-tools" does not exist currently. This program is going to create it, including needed parent directories. Is this what you want? [yes] The path "/usr/src/linux/include" is not an existing directory. What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] これの繰り返しですすみません。 何が問題なのかわかるかたお教えください 補足ホストOSがvistaでゲストOSがcentosです。
- ベストアンサー
- その他(ITシステム運用・管理)
- linux/module.h インクルードできない
もう自力ではわからず、検索しても解決できなかったので、わかる方、力を貸してください。 まず環境は Ubuntu 12.10 をVirtualBoxで動かしています。 そして、以下のパッケージをインストールしました。 linux-source-3.5.0 linux-header-3.5.0-19-generic その後、以下のソースをコンパイルしようとしました。 1 #include <linux/module.h> /* module 作成には必須 */ 2 #include <linux/kernel.h> /* printk */ 3 4 MODULE_LICENSE( "GPL" ); 5 6 static char* msg = "module [message.o]"; 7 8 9 /* 10 * モジュールの初期処理 11 * insmod 時に呼ばれる 12 */ 13 int 14 init_module( void ) 15 { 16 printk( KERN_INFO "%s : loaded into kernel\n", msg ); 17 18 /* モジュール初期化に成功したので 0 を返す 19 0 以外の値を返せば初期化失敗とみなされモジュールは 20 カーネルには組み込まれない */ 21 return 0; 22 } 23 24 25 /* 26 * モジュールの解放処理 27 * モジュールの参照数が 0 であれば、rmmod 時に呼ばれる 28 */ 29 void 30 cleanup_module( void ) 31 { 32 printk( KERN_INFO "%s : removed from kernel\n", msg ); 33 } 34 35 36 /* End of message.c */ このソース自体はネットで公開されていたもののコピペです。 これを解説を読んで、いざコンパイルというときに、 linux/module.h そのようなファイルやディレクトリはありません 上のエラーが出ます。 でも、/usr/src/linux-source-3.5.0/include/linuxの中に、module.hは確かにありました。 あったのにもかかわらず、そのようなファイルやディレクトリがありませんというのは、いったいどのような原因が考えられるのでしょうか。 自力では解決できなかったので、わかるかた教えてください。
- ベストアンサー
- C・C++・C#
- macでカーネルのディレクトリはどこにありますか
linuxカーネル用のディレクトリはたいてい/usr/src/linuxにあると本に書いてあったのですが、macではどこに置いてあるのですか。/usrのしたにはには/srcはありません。 ご回答よろしくお願いします。
- 締切済み
- Linux系OS
- GCCの#includeパスの設定方法?
RedHat Linux 8.0をインストールしています。adaptec社のAHA1542を使いたいのですが、自動認識してくれません。 色々調べた結果、/etc/modules.confに alias scsi_hostadapter aha1542.o を記述する事で、使用可能と言う事がわかりました。 しかし私のシステムでは、aha1542のソースとヘッダーファイルはありますが、オブジェクトがありません。 GCCにてコンパイルさせたら、大量のエラーメッセージが出力されます。ソースを見ると、 1) #include <linux/******.h> 2) #include <asm/*****.h> 3) #include "*****.h" と3種類の#include文があります。 3)は、ソースと同一ディレクトリーでOKだと思いますが、他の2種類のパスの設定方法がわかりません。 <linux/ <asm/ の部分を自分のシステムに合ったパスに置き換える(GCCに認識させる)には、どうすれば良いのでしょうか? どうか、宜しくお願い致します!
- 締切済み
- C・C++・C#
補足
言葉足らずで、すいません。 ホストOSがFedora10で、その上で、VMwareServer1.0.9を動かしていました。 VMwareserverが立ち上がらなくなったので、 またFedoraのkernelのバージョンがあがったと思い、vmware-config.plを動かし、VMwareのコンフィグを再作成しようとしたところ、 What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include] のところで、ヘッダーファイルの場所が変わったようで、デフォルトでは進まなくなりました。 なので、このincludeの場所を探しています。 ヘッダーファイルはどこに行ったのかを知りたいのです。 よろしくお願い致します。