makefile - 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
我很乐意接受一些帮助来解决这个问题,因为我无法弄清楚。谢谢!
解决方案
编译器正在寻找您的系统上不存在的系统头文件(由 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 包。
推荐阅读
- postgresql - Autovacuum 全局设置是否应用于所有表?
- javascript - Date() - 在不同的页面返回不同的值
- python - 从另一个 csv 文件 grouby 列填充 csv 文件
- javascript - 如何修复“加载资源失败:操作无法完成。iOS 12 视频中的“协议错误”?
- mysql - MySQL Query 跨越 40,000 行 v/s 一次加载和 for 循环
- karate - 如何在空手道中上传多个包含多部分的文件
- python - 如何编写 Django 查询并在 WHERE 子句中包含 PostGres 函数 (current_time)?
- ios - 适用于 Unity 的 iOS 插件,带有导航以添加新联系人
- swift - 我的代码无法在 iPhone 上运行“退出代码 1 失败”错误消息
- r - 如何根据另一个单选按钮输入将单选按钮插入闪亮的 UI?