Qemu:目标 'contrib/elf2dmp/download.o' 的配方失败

Qemu: recipe for target 'contrib/elf2dmp/download.o' failed

我正在尝试在 Ubuntu 18.04 中安装 Qemu,但我猜 Makefile 有问题。

./configure 运行正常,但是当我尝试 'make' 它时,它退出并出现错误:

contrib/elf2dmp/download.c:9:10: fatal error: curl/curl.h: Arquivo ou diretório inexistente
 #include <curl/curl.h>
          ^~~~~~~~~~~~~
compilation terminated.
/home/usr/Programas/qemu-4.1.0-rc1/rules.mak:69: recipe for target 'contrib/elf2dmp/download.o' failed

我很乐意接受一些帮助来解决这个问题,因为我无法弄清楚。谢谢!

编译器正在查找您的系统中不存在的系统头文件(由 libcurl 库提供)。对于 Ubuntu 18.04,这应该在 libcurl4-gnutls-dev 包中,因此如果您安装它然后执行 'make clean' 然后重复配置并使其构建正常。

理论上 configure 应该注意到您没有安装 curl 库开发包,只是禁用了需要它的 QEMU 部分。我怀疑这是一个上游错误。我无法重现您的设置,但我很清楚问题出在哪里,我认为 QEMU 的这个补丁应该可以解决它: https://patchew.org/QEMU/20190719100955.17180-1-peter.maydell@linaro.org/ -- 所以如果你能测试那会有帮助。

注意:如果您的 /etc/apt/sources.list 中有正确的 deb-src 行,那么您可以使用 "apt build-dep qemu" 安装构建所需的所有 -dev 包官方 Ubuntu QEMU。这可能会帮助您避免将来出现意外,因为您自己编译的 QEMU 缺少一些可选功能,因为 -dev 包在编译时不存在。