编辑:(解决后):所以伙计,这看起来像 pkg base-devel
。哪一个有包含头。现在可以正常工作了:)
感谢你们(我从 Facebook Linux 用户组得到了帮助)
我目前正在将一个软件包安装到我的 Void Linux x86_64 版本 5.4.21_1 上,并且我遇到了“make”命令的问题。我已经安装了 package 命令,现在必须使用“make”命令,然后使用“make install”命令。根据软件包的说明,您只需键入“make”和“make install”,它就应该可以编译。当我使用“make”命令时,出现以下错误:
有没有人有什么建议?谢谢 。
这是完整的错误。 GCC 肯定已安装。我正在从包含 makefile 的目录运行“make”命令。这不仅适用于 st pkg。我在任何 git 安装包中都遇到过这个问题。 :(
$ git clone https://github.com/LukeSmithxyz/st
$ cd st
$ make
st build options:
CFLAGS = -I/usr/X11R6/include -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -DVERSION="0.8.2" -D_XOPEN_SOURCE=600 -O1
LDFLAGS = -L/usr/X11R6/lib -lm -lX11 -lutil -lXft -lXrender -lfontconfig -lfreetype -lfreetype
CC = ”/usr/bin/cc”
”/usr/bin/cc” -I/usr/X11R6/include `pkg-config --cflags fontconfig` `pkg-config --cflags freetype2` -DVERSION=\"0.8.2\" -D_XOPEN_SOURCE=600 -O1 -c x.c
/bin/sh: 1: ”/usr/bin/cc”: not found
make: *** [Makefile:22: x.o] Error 127
$ sudo make install
Password:
c99 -I/usr/X11R6/include `pkg-config --cflags fontconfig` `pkg-config --cflags freetype2` -DVERSION=\"0.8.2\" -D_XOPEN_SOURCE=600 -O1 -c x.c
x.c:11:10: fatal error: X11/Xatom.h: No such file or directory
11 | #include <X11/Xatom.h>
| ^~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:22: x.o] Error 1
答案1
问题是您没有可用于 X11 库的 C 语言头文件。在 Linux 上,头文件通常不与实际的库一起打包,因为运行使用这些库的程序不需要它们。相反,它们以单独的包形式提供。
您尝试编译的软件取决于工具、库fontconfig
以及相关的头文件。这是根据软件的libX11
libXft
README.md
文件。
该fontconfig
工具可作为fontconfig
Void Linux 上的软件包使用(您可能还需要fontconfig-devel
),而这两个库可作为四包libX11
, libX11-devel
,libXft
和libXft-devel
.这是-devel
头文件所需的包。一旦软件被编译,它们可能会被再次卸载(它们至少不会再次用于此特定任务)。运行您编译的任何软件都需要其他软件包。
您似乎也没有cc
安装(C 编译器)。该工具(以及用于构建软件的许多其他工具)由base-devel
Void Linux 上的元包提供。
由于我不是 Linux 用户,所以我无法测试这些东西。