首页 > 解决方案 > Qemu:目标“contrib/elf2dmp/download.o”的配方失败

问题描述

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

./configure 运行良好,但是当我尝试“制作”它时,它退出并出现错误:

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

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

标签: makefileubuntu-18.04qemu

解决方案


编译器正在寻找您的系统上不存在的系统头文件(由 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”来安装构建官方 Ubuntu QEMU 所需的所有 -dev 软件包. 这可能会帮助您避免将来出现意外,因为您自己编译的 QEMU 缺少一些可选功能,因为在编译时不存在 -dev 包。


推荐阅读