![为什么我在尝试编译 libxml2 时会出现此错误?](https://linux22.com/image/1077932/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%9C%A8%E5%B0%9D%E8%AF%95%E7%BC%96%E8%AF%91%20libxml2%20%E6%97%B6%E4%BC%9A%E5%87%BA%E7%8E%B0%E6%AD%A4%E9%94%99%E8%AF%AF%EF%BC%9F.png)
虽然我安装了一次 libxml2,又重新安装了几次。我无法编译 c 源代码,因为编译器找不到头文件的位置。我可以找到它的位置(在我下载 tar.gz 包的文件夹中),但我有一种直觉,这个包没有正确安装,因为当我尝试 sudo make install 时,它说
/bin/bash: /home/bfaskiplar/Downloads/tar.gz: No such file or directory
make[2]: *** [install-libLTLIBRARIES] Error 127
make[2]: Leaving directory `/home/bfaskiplar/Downloads/tar.gz packages/libxml2-2.8.0'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/bfaskiplar/Downloads/tar.gz packages/libxml2-2.8.0'
make: *** [install-recursive] Error 1
这就是我安装 synaptic 包管理器并重新安装 libxml2 的原因,但在这种情况下,它不是应该将头文件放在 gcc 通常搜索的默认目录中吗?
目前,我能够使用 -I 选项编译 c 源代码,但我想知道为什么即使我使用 synaptic 进行安装也必须手动复制标题,以及为什么在尝试手动安装包时会出现错误 1 和错误 2。
提前致谢
答案1
我不确定您为什么要尝试编译 libxml2。您需要安装libxml2-dev
才能构建依赖于 libxml2 的源。您sudo apt-get build-dep $package
也可以安装特定源包的构建依赖项。
我不确定你问题中的错误到底是什么。没有足够的上下文来说明确切的问题是什么,但看起来可能是文件路径中的空格问题。
答案2
答案来自Dobey的回答中的评论。我再次写一遍以使其更清楚。
问题是由于路径中有空格。请将其安装在没有空格的路径上。