web-dev-qa-db-ja.com

linux / version.hの特定を支援する

古いプログラムを修正しようとしています。以前の問題は Missing modversions.h で見つかりました。

makeプログラムを実行すると、次のエラーが表示されます。

kaodv-mod.c:22:27: fatal error: linux/version.h: No such file or directory
compilation terminated.

だから私は走った

find / -name version.h

返す

/opt/VBoxGuestAdditions-4.3.2/src/vboxguest-4.3.2/vboxguest/include/VBox/version.h
/usr/include/linux/dvb/version.h
/usr/include/linux/version.h
/usr/src/linux-headers-3.8.0-29-generic/include/config/Arch/want/ipc/parse/version.h
/usr/src/linux-headers-3.8.0-29-generic/include/generated/uapi/linux/version.h
/usr/src/linux-headers-3.8.0-29/include/uapi/linux/dvb/version.h
/usr/src/linux-headers-3.8.0-29/include/xen/interface/version.h

これにより、linux/version.hが存在することが明確に証明されました。

これを修正するには、変更する必要があります

#include<linux/version.h>

#include</usr/include/linux/version.h>

または、Makefileに変更を加えることは可能ですか

追伸: Makefile

4
Ashiq Irphan

まず、カーネルヘッダーをインストールする必要があります

Sudo apt-get install linux-headers-$(uname -r)

うまくいかない場合は、これも試してください

Sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h

types.h用に編集:

Sudo ln -s /usr/src/linux-headers-$(uname -r)/include/uapi/asm-generic/types.h /lib/modules/$(uname -r)/build/include/uapi/linux/types.h
7
shantanu

Apt-fileを使用すると、Ubuntuが提供するファイルを見つけることができます。

$ apt-file search linux/version.h
gcc-arm-linux-androideabi: /usr/arm-linux-androideabi/include/linux/version.h
linux-headers-3.11.0-11-lowlatency: /usr/src/linux-headers-3.11.0-11-lowlatency/include/generated/uapi/linux/version.h
linux-headers-3.11.0-12-generic: /usr/src/linux-headers-3.11.0-12-generic/include/generated/uapi/linux/version.h
linux-headers-3.4.0-1-goldfish: /usr/src/linux-headers-3.4.0-1-goldfish/include/linux/version.h
linux-libc-dev: /usr/include/linux/version.h
linux-libc-dev-arm64-cross: /usr/aarch64-linux-gnu/include/linux/version.h
linux-libc-dev-armel-cross: /usr/arm-linux-gnueabi/include/linux/version.h
linux-libc-dev-armhf-cross: /usr/arm-linux-gnueabihf/include/linux/version.h
linux-libc-dev-powerpc-cross: /usr/powerpc-linux-gnu/include/linux/version.h
Ruby1.8-dev: /usr/lib/Ruby/1.8/i686-linux/version.h

このリストから、linux-libc-devは最も有望な候補のように見えます。

0