编译libvirt-9.10.0时libvirtd依赖问题求助
解决libvirt-9.10.0编译时QEMU驱动依赖libvirtd的问题
问题分析
从你提供的meson.build代码片段能看出,当WITH_LIBVIRTD配置项未启用时,若强制开启driver_qemu就会触发该错误。WITH_LIBVIRTD是否启用取决于系统是否满足libvirtd的编译依赖,或是配置时是否主动禁用了libvirtd。你的精简系统大概率缺少libvirtd的必要依赖,导致Meson自动关闭了WITH_LIBVIRTD,但你又强制开启QEMU驱动,进而引发冲突报错。
解决步骤
1. 安装libvirtd编译依赖
针对Anolis 8系统,执行以下命令安装基础依赖包:
yum install -y gcc gcc-c++ meson ninja-build libxml2-devel gnutls-devel yajl-devel libsystemd-devel libnl3-devel numactl-devel
这些依赖是构建libvirtd的核心组件,缺失任意一个都可能导致Meson跳过libvirtd的构建。
2. 调整Meson配置命令
显式指定启用libvirtd,保留原有配置参数:
meson setup build -Dsystem=true -Dlibvirtd=enabled -Ddriver_qemu=enabled --reconfigure
添加-Dlibvirtd=enabled可强制Meson尝试构建libvirtd,若此时仍报错,查看配置输出里的依赖检查信息,找出未满足的依赖项并补充安装。
3. 排查依赖缺失细节
若上述命令仍失败,重新运行配置并保存完整日志:
meson setup build -Dsystem=true -Dlibvirtd=enabled -Ddriver_qemu=enabled 2>&1 | tee configure.log
在configure.log中搜索WITH_LIBVIRTD相关内容,或查找Dependency X not found类提示,根据提示安装对应开发包。
4. 验证构建
配置成功后执行编译:
ninja -C build
编译完成后可检查build/src/libvirtd目录下是否生成libvirtd二进制文件。
内容的提问来源于stack exchange,提问作者BobZhang
相关产品推荐
相关产品推荐

