如何解决“/lib/modules/3.13.0-27-generic/build:没有此文件或目录”错误消息?

如何解决“/lib/modules/3.13.0-27-generic/build:没有此文件或目录”错误消息?

我正在按照这一页这样我就可以提交足够的关于我的机器的信息这个错误报告模块

我无法运行以下命令

git clone git://github.com/Lekensteyn/acpi-stuff.git
cd acpi-stuff/acpi_dump_info
make
sudo make load
cat /proc/acpi/dump_info > handles.txt

我克隆了 Git 存储库,但无法运行命令make,收到以下错误消息:

mg@MG-7520SE:~/workspace/HybridGraphicsCards$ cd acpi-stuff/acpi_dump_info
mg@MG-7520SE:~/workspace/HybridGraphicsCards/acpi-stuff/acpi_dump_info$ make
make -C /lib/modules/3.13.0-27-generic/build M=/home/mg/workspace/HybridGraphicsCards/acpi-stuff/acpi_dump_info modules
make[1]: *** /lib/modules/3.13.0-27-generic/build: No such file or directory.  Stop.
Makefile:9: recipe for target 'default' failed
make: *** [default] Error 2
mg@MG-7520SE:~/workspace/HybridGraphicsCards/acpi-stuff/acpi_dump_info$ sudo make
[sudo] password for mg: 
make -C /lib/modules/3.13.0-27-generic/build M=/home/mg/workspace/HybridGraphicsCards/acpi-stuff/acpi_dump_info modules
make[1]: *** /lib/modules/3.13.0-27-generic/build: No such file or directory.  Stop.
Makefile:9: recipe for target 'default' failed
make: *** [default] Error 2

因此,在克隆 Git 存储库后,我访问指定目录acpi-stuff/acpi_dump_info并运行,make但没有成功。我尝试运行它,但sudo仍然没有成功。

build我注意到它抱怨是因为目录下没有目录/lib/modules/3.13.0-27-generic/。我不确定这到底是什么,但从表面上看,该make命令需要我的内核的编译版本,但没有找到。但我对此一无所知。

我尝试通过运行以下命令来安装 Linux 标头

  1. sudo apt-get install linux-headers-3.13.0-27-generic
  2. sudo apt-get install linux-headers-uname -r`

..但它们都失败了,并且输出相同

mg@MG-7520SE:~$ sudo apt-get install linux-headers-3.13.0-27-generic
[sudo] password for mg: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package linux-headers-3.13.0-27-generic is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'linux-headers-3.13.0-27-generic' has no installation candidate

我的系统信息:

mg@MG-7520SE:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.10
Release:    14.10
Codename:   utopic
mg@MG-7520SE:~$ uname -a
Linux MG-7520SE 3.13.0-27-generic #50-Ubuntu SMP Thu May 15 18:06:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

make那么我应该怎么做才能在这个目录下成功运行该命令?

答案1

你需要安装Linux 标头-3.13.0-27-通用包裹

sudo apt-get install linux-headers-3.13.0-27-generic

或更好

sudo apt-get install linux-headers-`uname -r`

这将提供链接 /lib/modules/3.13.0-27-generic/build

答案2

我使用的内核(v3.13)不适合与我使用的发行版(Ubuntu 14.10)一起使用。

因此我通过运行以下命令为我的发行版安装了最新的内核:

sudo apt-get install linux-generic

它也解决了我的亮度问题!

答案3

查找您的构建必需品存放位置

find / | grep include/generated/autoconf.h

我的回来了

/usr/src/linux-headers-4.19.0-5-amd64/include/generated/autoconf.h

如果你按照网上的指南操作但没有成功,请更换

/lib/modules/`uname -r`/build

就我的情况而言,上面的结果

/usr/src/linux-headers-`uname -r`

因此,总的来说

obj-m += hello-1.o

all:
    make -C /usr/src/linux-headers-$(shell uname -r) M=$(PWD) modules

clean:
    make -C /usr/src/linux-headers-$(shell uname -r) M=$(PWD) clean

答案4

使用旧内核时遇到同样的问题。您需要安装 -generic 标头,为此请访问此站点: https://kernel.ubuntu.com/~kernel-ppa/mainline/ 然后使用 下载内核头文件wget url。接下来运行sudo dpkg -i pakage-name.deb。然后尝试构建。如果它不起作用并且您收到*** /lib/modules/3.13.0-27-generic/build: No such file or directory.错误消息,请转到 /lib/modules 并检查您的头文件是否以不同的名称命名。如果是这样,只需将它们的名称更改为与 make 程序查找的名称相匹配。

相关内容