致命错误: aux.h文件或目录不存在(Ubuntu)

3

我正在学习如何在Ubuntu上编译Linux内核。按照步骤进行时,遇到了像这样的错误。直到此时都没有问题。

$ sudo make menuconfig

但是sudo make不起作用。我已经安装了这些库。

sudo apt-get install libncurses5-dev
sudo apt-get install libssl-dev
sudo apt-get install libelf-dev
sudo apt-get install flex
sudo apt-get install bison

如何包含这个头文件?

drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c:25:10: fatal error: aux.h: No such file or directory
25 | #include "aux.h"

enter image description here


Stack Overflow 不鼓励使用文本截图。请将您问题中的截图替换为该截图所示的文本:将输出复制粘贴到问题帖子中,并使用 Ctrl+K{} 按钮进行格式化。 - Tsyvarev
好的,我已经修改了。但是由于操作系统是在虚拟机中运行的,所以无法复制和粘贴代码。我尝试过复制它们,但可能存在不同的堆栈。 - user12451939
2个回答

1
文件应该在目录drivers/gpu/drm/nouveau/nvkm/subdev/i2c中,您可以前往该路径检查文件是否存在,如果不存在,您可以重新下载它。

我搜索到aux.h是glaux.h中的一种库。所以我下载了它并移动到目标文件夹。在i2c中,有一些c文件,但将GLAUX.H移动到该文件夹的操作不被允许。 - user12451939
@Sonak:你需要的是aux.h文件(而不是glaux.h)。该文件应该存在于Linux源代码树中,路径与答案中所述的完全相同。如果缺少该文件,则表示您的Linux源代码树已损坏。您可以尝试重新下载整个源代码树,或者下载单个文件并将其复制到所需位置。由于在构建内核的操作中使用了sudo,因此复制文件也可能需要它。 - Tsyvarev
你是对的。那里没有aux.h文件。我在这里下载了Linux内核5.9.1.tar.gz。https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ 我尝试了5.9.1和5.9.8,但两种情况都给了我相同的结果。我解压了内核,但没有aux.h文件。这个文件有问题还是我提取文件的方式有问题?我使用了提取命令。 - user12451939
我尝试了linux-5.9.8.tar.gz,它包含aux.h文件。您可以使用tar -zxvf linux-5.9.8.tar.gz命令来提取tar.gz文件。 - zhangxaochen

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接