【问题标题】:make: *** /lib/modules/2.6.32-279.el6.x86_64/build: No such file or directory. Stopmake: *** /lib/modules/2.6.32-279.el6.x86_64/build: 没有这样的文件或目录。停止
【发布时间】:2013-04-05 10:41:36
【问题描述】:

我从他们的网站下载了 RALINK 驱动程序

untar -xvf rtl*

然后我在其中运行“make”。谷歌搜索建议“内核开发” 需要安装。

我安装了 kernel-devel 包,但仍然出现此错误

make: *** /lib/modules/2.6.32-279.el6.x86_64/build: No such file or directory.  Stop.

当我检查该文件是否存在时.. 我 cd 进入 /lib/modules/2.6.32-279.el6.x86_64/

我相信这个错误发生在“make”命令尝试执行这个命令之后

make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/2.6.32-279.el6.x86_64/build M=/home/a/Desktop/3/rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20120405  modules

它在那里被称为“构建”

那为什么它说没有这样的文件或目录?

【问题讨论】:

  • kernel-devel 是否与您正在运行的内核版本相同?运行rpm -q kernel-develuname -r,版本号要一致。
  • 如果它们略有不同,您将如何替换它们?

标签: apache centos


【解决方案1】:

**编辑**

如果您的问题与我遇到的类似(见下文),则似乎未安装内核开发包。

试试:

yum install kernel-devel

原始信息

我也有同样的问题。但是,有趣的是,当我在父目录上 ls-l 到“缺少的目录”(所以,ls -l /lib/modules/2.6.32-431.el6.x86_64/)时,它表明 build 是一个 指向 /usr/src/kernels/2.6.32-431.el6.x86_64 的链接断开,但 /usr/src/kernels/ 为空。

所以,我不知道这是否有很大帮助,但希望它能让其他人更好地了解问题所在。

[root@xx libreswan-3.7]# ls -l /lib/modules/2.6.32-431.el6.x86_64/
total 3524
lrwxrwxrwx.  1 root root     46 Dec 12 13:42 build -> ../../../usr/src/kernels/2.6.32-431.el6.x86_64
drwxr-xr-x.  2 root root   4096 Nov 21 22:41 extra
drwxr-xr-x. 11 root root   4096 Dec 12 13:42 kernel
-rw-r--r--.  1 root root 589679 Dec 12 13:43 modules.alias
...
-rw-r--r--.  1 root root 851070 Dec 12 13:43 modules.usbmap
lrwxrwxrwx.  1 root root      5 Dec 12 13:42 source -> build
drwxr-xr-x.  2 root root   4096 Nov 21 22:41 updates
drwxr-xr-x.  2 root root   4096 Dec 12 13:42 vdso
drwxr-xr-x.  2 root root   4096 Nov 21 22:41 weak-updates

[root@xx libreswan-3.7]# ls /usr/src/kernels/
[root@xx libreswan-3.7]# 

请注意,“源”链接也已断开,因为它指向构建。

【讨论】:

    【解决方案2】:
    cd /lib/modules/2.6.32-431.el6.x86_64
    sudo rm build
    sudo ln -s ../../../usr/src/kernels/2.6.32-431.29.2.el6.x86_64/ build
    

    以上命令为我解决了这个问题 但基本上你必须能够在最后一个命令中使用任何版本的 2.6.32* 目录。

    【讨论】:

    • 我需要先按照 Nick Dong 的建议做,然后使用以下内容。确保首先检查目录是否存在,注意额外的“../”../../../../usr/src/kernels/4.18.0-193.el8.x86_64/
    【解决方案3】:

    感谢 Nighthawk663。

    我在./configure --with-linux=/lib/modules/uname -r/build/ 有同样的问题。它也说“不是文件......”。

    原因: 当前内核缺少内核头文件。

    我是如何解决的:

    找到当前内核:uname -r

    yum install kernel-devel-$(uname -r)

    你可能找不到... 只需 google 那个版本的 kernel-devel-... 下载 rpm 文件,然后做

    rpm -i kernel-devel-xxxx.rpm

    那么它对我有用!

    【讨论】:

      【解决方案4】:

      /usr/lib/modules/your-kernel-edition/build 是一个链接文件。 链接文件存在。但目标文件可能不存在。所以看到链接文件是可以的,但是文件夹不能改进去(cd)。

      fedora 29 上的类似示例。

      lrwxrwxrwx。 1 根 40 Oct 21 07:38 /usr/lib/modules/4.18.16-300.fc29.x86_64/build -> /usr/src/kernels/4.18.16-300.fc29.x86_64

      只需安装 kernel-devel。

      示例。

      sudo dnf install kernel-devel-$(uname -r)

      【讨论】:

        【解决方案5】:

        因为链接不是你的内核版本。

        1. 删除错误的链接。

          $ rm build`
          
        2. 使用$ uname -r查看内核版本

        3. 使用您的内核版本构建新链接。

          $ ln -s ../../../usr/src/kernels/($(uname -r)/ build
          

        完成

        【讨论】:

          猜你喜欢
          • 2020-12-02
          • 2020-02-07
          • 1970-01-01
          • 1970-01-01
          • 2017-01-22
          • 1970-01-01
          • 2022-07-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多