接前一篇文章libvirt零知识学习2 —— libvirt源码下载
上一篇文章中详细介绍了libvirt的源码下载过程,下载了libvirt-8.10.tar.xz并解压。本文在前文的基础上进行源码编译和安装。
官网中给出了源码编译libvirt的指导页面:https://libvirt.org/compiling.html,参考其中的步骤一步步进行。
1. 进入源码根目录
进入到源码解压后的根目录。命令如下:
$ cd libvirt-8.10.0/
2. 配置项目
(0)预备知识
libvirt构建过程使用Meson构建系统。使用以下命令进行构建配置。注意构建参数是将被创建的构建目录的名字。
meson build [options]
运行以下命令获取完整的选项列表:
$ meson configure
实际命令及响应如下:
$ meson configure
WARNING: The source directory instead of the build directory was specified.
WARNING: Only the default values for the project are printed, and all command line parameters are ignored.
Core properties:
Source dir /home/penghao/libvirt/libvirt-8.10.0
Main project options:
Core options Default Value Possible Values Description
------------ ------------- --------------- -----------
auto_features auto [enabled, disabled, auto] Override value of all 'auto' features
backend ninja [ninja, vs, vs2010, vs2012, vs2013, vs2015, Backend to use
vs2017, vs2019,
vs2022, xcode]
buildtype debugoptimized [plain, debug, debugoptimized, release, Build type to use
minsize, custom]
cmake_prefix_path [] List of additional prefixes for cmake to search
debug true [true, false] Enable debug symbols and other information
default_library shared [shared, static, both] Default library type
force_fallback_for [] Force fallback for those subprojects
install_umask 0022 [preserve, 0000-0777] Default umask to apply on permissions of installed files
layout mirror [mirror, flat] Build directory layout
optimization 2 [0, g, 1, 2, 3, s] Optimization level
pkg_config_path [/usr/local/lib/pkgconfig] List of additional paths for pkg-config to search
strip false [true, false] Strip targets on install
unity off [on, off, subprojects] Unity build
unity_size 4 >=2 Unity block size
warning_level 2 [0, 1, 2, 3] Compiler warning level to use
werror false [true, false] Treat warnings as errors
wrap_mode default [default, nofallback, nodownload, Wrap mode
forcefallback, nopromote]
build.cmake_prefix_path [] List of additional prefixes for cmake to search
build.pkg_config_path [/usr/local/lib/pkgconfig] List of additional paths for pkg-config to search
Backend options Default Value Possible Values Description
--------------- ------------- --------------- -----------
backend_max_links 0 >=0 Maximum number of linker processes to run or 0 for no limit
Base options Default Value Possible Values Description
------------ ------------- --------------- -----------
b_asneeded true [true, false] Use -Wl,--as-needed when linking
b_colorout always [auto, always, never] Use colored output
b_coverage false [true, false] Enable coverage tracking.
b_lto false [true, false] Use link time optimization
b_lto_threads 0 Use multiple threads for Link Time Optimization
b_lundef true [true, false] Use -Wl,--no-undefined when linking
b_ndebug false [true, false, if-release] Disable asserts
b_pch true [true, false] Use precompiled headers
b_pgo off [off, generate, use] Use profile guided optimization
b_pie true [true, false] Build executables as position independent
b_sanitize none [none, address, thread, undefined, memory, Code sanitizer to use
address,undefined]
b_staticpic true [true, false] Build static libraries as position independent
Compiler options Default Value Possible Values Description
---------------- ------------- --------------- -----------
c_args [] Extra arguments passed to the c compiler
c_link_args [] Extra arguments passed to the c linker
c_std gnu99 [none, c89, c99, c11, c17, c18, c2x, gnu89, C language standard to use
gnu99, gnu11,
gnu17, gnu18, gnu2x]
build.c_args [] Extra arguments passed to the c compiler
build.c_link_args [] Extra arguments passed to the c linker
build.c_std none [none, c89, c99, c11, c17, c18, c2x, gnu89, C language standard to use
gnu99, gnu11,
gnu17, gnu18, gnu2x]
python module options Default Value Possible Values Description
--------------------- ------------- --------------- -----------
python.install_env prefix [auto, prefix, system, venv] Which python environment to install to
python.platlibdir Directory for site-specific, platform-specific files.
python.purelibdir Directory for site-specific, non-platform-specific files.
Directories Default Value Possible Values Description
----------- ------------- --------------- -----------
bindir bin Executable directory
datadir share Data file directory
includedir include Header file directory
infodir share/info Info page directory
libdir lib Library directory
libexecdir libexec Library executable directory
localedir share/locale Locale data directory
localstatedir /var/local Localstate data directory
mandir share/man Manual page directory
prefix /usr/local Installation prefix
sbindir sbin System executable directory
sharedstatedir /var/local/lib Architecture-independent data directory
sysconfdir etc Sysconf data directory
Testing options Default Value Possible Values Description
--------------- ------------- --------------- -----------
errorlogs true [true, false] Whether to print the logs from failing tests
stdsplit true [true, false] Split stdout and stderr in test logs
Project options Default Value Possible Values Description
--------------- ------------- --------------- -----------
apparmor auto [enabled, disabled, auto] apparmor support
apparmor_profiles auto [enabled, disabled, auto] install apparmor profiles
attr auto [enabled, disabled, auto] attr support
audit auto [enabled, disabled, auto] audit support
bash_completion auto [enabled, disabled, auto] bash-completion support
bash_completion_dir directory containing bash completion scripts
blkid auto [enabled, disabled, auto] blkid support
capng auto [enabled, disabled, auto] cap-ng support
ch_group groupname to run Cloud-Hypervisor system instance as
ch_user username to run Cloud-Hypervisor system instance as
chrdev_lock_files location for UUCP style lock files for character devices (leave empty for default paths on some
platforms)
curl auto [enabled, disabled, auto] curl support
docdir documentation installation directory
docs auto [enabled, disabled, auto] whether to generate documentation
driver_bhyve auto [enabled, disabled, auto] bhyve driver
driver_ch auto [enabled, disabled, auto] Cloud-Hypervisor driver
driver_esx auto [enabled, disabled, auto] esx driver
driver_hyperv auto [enabled, disabled, auto] Hyper-V driver
driver_interface auto [enabled, disabled, auto] host interface driver
driver_libvirtd auto [enabled, disabled, auto] libvirtd driver
driver_libxl auto [enabled, disabled, auto] libxenlight driver
driver_lxc auto [enabled, disabled, auto] Linux Container driver
driver_network auto [enabled, disabled, auto] virtual network driver
driver_openvz auto [enabled, disabled, auto] OpenVZ driver
driver_qemu auto [enabled, disabled, auto] QEMU/KVM driver
driver_remote auto [enabled, disabled, auto] remote driver
driver_secrets auto [enabled, disabled, auto] local secrets management driver
driver_test auto [enabled, disabled, auto] test driver
driver_vbox auto [enabled, disabled, auto] VirtualBox XPCOMC driver
driver_vmware auto [enabled, disabled, auto] VMware driver
driver_vz auto [enabled, disabled, auto] Virtuozzo driver
dtrace auto [enabled, disabled, auto] use dtrace for static probing
expensive_tests auto [enabled, disabled, auto] set the default for enabling expensive tests (long timeouts)
firewalld auto [enabled, disabled, auto] firewalld support
firewalld_zone auto [enabled, disabled, auto] whether to install firewalld libvirt zone
fuse auto [enabled, disabled, auto] fuse support
git_werror auto [enabled, disabled, auto] use -Werror if building from GIT
glusterfs auto [enabled, disabled, auto] glusterfs support
host_validate auto [enabled, disabled, auto] build virt-host-validate
init_script check [systemd, openrc, check, none] Style of init script to install
libiscsi auto [enabled, disabled, auto] libiscsi support
libnl auto [enabled, disabled, auto] libnl support
libpcap auto [enabled, disabled, auto] libpcap support
libssh auto [enabled, disabled, auto] libssh support
libssh2 auto [enabled, disabled, auto] libssh2 support
loader_nvram Pass list of pairs of <loader>:<nvram> paths. Both pairs and list items are separated by a
colon.
login_shell auto [enabled, disabled, auto] build virt-login-shell
netcf auto [enabled, disabled, auto] netcf support
nls auto [enabled, disabled, auto] nls support
no_git false [true, false] Disable git submodule update
nss auto [enabled, disabled, auto] enable Name Service Switch plugin for resolving guest IP addresses
numactl auto [enabled, disabled, auto] numactl support
numad auto [enabled, disabled, auto] use numad to manage CPU placement dynamically
openwsman auto [enabled, disabled, auto] openwsman support
packager Extra packager name
packager_version Extra packager version
pciaccess auto [enabled, disabled, auto] pciaccess support
pm_utils auto [enabled, disabled, auto] use pm-utils for power management
polkit auto [enabled, disabled, auto] use PolicyKit for UNIX socket access checks
qemu_datadir set the directory where QEMU shared data is located
qemu_group groupname to run QEMU system instance as
qemu_moddir set the directory where QEMU modules are located
qemu_user username to run QEMU system instance as
readline auto [enabled, disabled, auto] readline support
remote_default_mode direct [legacy, direct] remote driver default mode
rpath auto [enabled, disabled, auto] whether to include rpath information in installed binaries and libraries
runstatedir State directory for temporary sockets, pid files, etc
sanlock auto [enabled, disabled, auto] sanlock support
sasl auto [enabled, disabled, auto] sasl support
secdriver_apparmor auto [enabled, disabled, auto] use AppArmor security driver
secdriver_selinux auto [enabled, disabled, auto] use SELinux security driver
selinux auto [enabled, disabled, auto] selinux support
selinux_mount set SELinux mount point
storage_dir auto [enabled, disabled, auto] directory backend for the storage driver
storage_disk auto [enabled, disabled, auto] GPartd Disk backend for the storage driver
storage_fs auto [enabled, disabled, auto] FileSystem backend for the storage driver
storage_gluster auto [enabled, disabled, auto] Gluster backend for the storage driver
storage_iscsi auto [enabled, disabled, auto] iscsi backend for the storage driver
storage_iscsi_direct auto [enabled, disabled, auto] iscsi-direct backend for the storage driver
storage_lvm auto [enabled, disabled, auto] LVM backend for the storage driver
storage_mpath auto [enabled, disabled, auto] mpath backend for the storage driver
storage_rbd auto [enabled, disabled, auto] RADOS Block Device backend for the storage driver
storage_scsi auto [enabled, disabled, auto] SCSI backend for the storage driver
storage_vstorage auto [enabled, disabled, auto] Virtuozzo storage backend for the storage driver
storage_zfs auto [enabled, disabled, auto] ZFS backend for the storage driver
sysctl_config auto [enabled, disabled, auto] Whether to install sysctl configs
system false [true, false] Set install paths to system ones
test_coverage false [true, false] turn on code coverage instrumentation
tests auto [enabled, disabled, auto] whether to build tests
tls_priority NORMAL set the default TLS session priority string
udev auto [enabled, disabled, auto] udev support
vbox_xpcomc_dir Location of directory containing VirtualBox XPCOMC library
wireshark_dissector auto [enabled, disabled, auto] wireshark support
wireshark_plugindir wireshark plugins directory for use when installing wireshark plugin
yajl auto [enabled, disabled, auto] yajl support
WARNING: The source directory instead of the build directory was specified.
WARNING: Only the default values for the project are printed, and all command line parameters are ignored.
请注意,默认情况下构建使用本地前缀路径配置,该路径不会与操作系统供应商提供的二进制文件进行互操作,因为UNIX套接字路径都不同。要生成与普通操作系统供应商前缀兼容的构建,使用以下命令:
$ meson build -Dsystem=true
显式使能需要的功能
默认情况下,libvirtd的每个功能模块都是可选启用的,这意味着如果构建环境包含所需的依赖项,它将被启用。
为了确保你的构建包含了需要的功能,推荐显式地使能给定的模块,在这种情况下,如果不存在依赖项,则配置步骤将以错误结束。举例:要构建支持qemu驱动的libvirt项目,使用以下选项:
$ meson build -Dsystem=true -Ddriver_qemu=enabled
注意:
- 默认情况下,当meson运行自一个GIT checkout中时,它将打开-Werror选项用于构建。这可以被禁止通过 --werror=false选项,但并不推荐这样做。
- 请确保你已经在你的构建环境中安装了合适的最小meson版本。指定包的最小版本可以在顶层meson.build文件的meson_version字段中被检查。
libvirt源码根目录下的meson.build文件中对应的代码片段如下:
project(
'libvirt', 'c',
version: '8.10.0',
license: 'LGPLv2+',
meson_version: '>= 0.56.0',
default_options: [
'buildtype=debugoptimized',
'b_pie=true',
'c_std=gnu99',
'warning_level=2',
],
)
(1)执行构建命令
命令如下:
$ meson build -Dsystem=true -Ddriver_qemu=enabled
实际命令及结果如下:
$ meson build -Dsystem=true -Ddriver_qemu=enabled
The Meson build system
Version: 0.62.2
Source dir: /home/penghao/libvirt/libvirt-8.10.0
Build dir: /home/penghao/libvirt/libvirt-8.10.0/build
Build type: native build
Project name: libvirt
Project version: 8.10.0
C compiler for the host machine: cc (gcc 12.1.0 "cc (GCC) 12.1.0")
C linker for the host machine: cc ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Configuring configmake.h using configuration
Checking for size of "ptrdiff_t" : 8
Checking for size of "size_t" : 8
Compiler for C supports arguments -fasynchronous-unwind-tables: YES
Compiler for C supports arguments -fexceptions: YES
Compiler for C supports arguments -fipa-pure-const: YES
Compiler for C supports arguments -fno-common: YES
Compiler for C supports arguments -Wabsolute-value: YES
Compiler for C supports arguments -Waddress: YES
Compiler for C supports arguments -Waddress-of-packed-member: YES
Compiler for C supports arguments -Waggressive-loop-optimizations: YES
Compiler for C supports arguments -Walloc-size-larger-than=9223372036854775807: YES
Compiler for C supports arguments -Walloca: YES
Compiler for C supports arguments -Warray-bounds=2: YES
Compiler for C supports arguments -Wattribute-alias=2: YES
Compiler for C supports arguments -Wattribute-warning: YES
Compiler for C supports arguments -Wattributes: YES
Compiler for C supports arguments -Wbool-compare: YES
Compiler for C supports arguments -Wbool-operation: YES
Compiler for C supports arguments -Wbuiltin-declaration-mismatch: YES
Compiler for C supports arguments -Wbuiltin-macro-redefined: YES
Compiler for C supports arguments -Wcannot-profile: YES
Compiler for C supports arguments -Wcast-align: YES
Compiler for C supports arguments -Wcast-align=strict: YES
Compiler for C supports arguments -Wno-cast-function-type: YES
Compiler for C supports arguments -Wchar-subscripts: YES
Compiler for C supports arguments -Wclobbered: YES
Compiler for C supports arguments -Wcomment: YES
Compiler for C supports arguments -Wcomments: YES
Compiler for C supports arguments -Wcoverage-mismatch: YES
Compiler for C supports arguments -Wcpp: YES
Compiler for C supports arguments -Wdangling-else: YES
Compiler for C supports arguments -Wdate-time: YES
Compiler for C supports arguments -Wdeclaration-after-statement: YES
Compiler for C supports arguments -Wdeprecated-declarations: YES
Compiler for C supports arguments -Wdesignated-init: YES
Compiler for C supports arguments -Wdiscarded-array-qualifiers: YES
Compiler for C supports arguments -Wdiscarded-qualifiers: YES
Compiler for C supports arguments -Wdiv-by-zero: YES
Compiler for C supports arguments -Wduplicated-cond: YES
Compiler for C supports arguments -Wduplicate-decl-specifier: YES
Compiler for C supports arguments -Wempty-body: YES
Compiler for C supports arguments -Wendif-labels: YES
Compiler for C supports arguments -Wexpansion-to-defined: YES
Compiler for C supports arguments -Wformat-contains-nul: YES
Compiler for C supports arguments -Wformat-extra-args: YES
Compiler for C supports arguments -Wno-format-nonliteral: YES
Compiler for C supports arguments -Wformat-overflow=2: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Wno-format-truncation: YES
Compiler for C supports arguments -Wformat-y2k: YES
Compiler for C supports arguments -Wformat-zero-length: YES
Compiler for C supports arguments -Wframe-address: YES
Compiler for C supports arguments -Wframe-larger-than=4096: YES
Compiler for C supports arguments -Wfree-nonheap-object: YES
Compiler for C supports arguments -Whsa: YES
Compiler for C supports arguments -Wif-not-aligned: YES
Compiler for C supports arguments -Wignored-attributes: YES
Compiler for C supports arguments -Wignored-qualifiers: YES
Compiler for C supports arguments -Wimplicit: YES
Compiler for C supports arguments -Wimplicit-fallthrough=5: YES
Compiler for C supports arguments -Wimplicit-function-declaration: YES
Compiler for C supports arguments -Wimplicit-int: YES
Compiler for C supports arguments -Wincompatible-pointer-types: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Winline: YES
Compiler for C supports arguments -Wint-conversion: YES
Compiler for C supports arguments -Wint-in-bool-context: YES
Compiler for C supports arguments -Wint-to-pointer-cast: YES
Compiler for C supports arguments -Winvalid-memory-model: YES
Compiler for C supports arguments -Winvalid-pch: YES
Compiler for C supports arguments -Wjump-misses-init: YES
Compiler for C supports arguments -Wlogical-not-parentheses: YES
Compiler for C supports arguments -Wlogical-op: YES
Compiler for C supports arguments -Wmain: YES
Compiler for C supports arguments -Wmaybe-uninitialized: YES
Compiler for C supports arguments -Wmemset-elt-size: YES
Compiler for C supports arguments -Wmemset-transposed-args: YES
Compiler for C supports arguments -Wmisleading-indentation: YES
Compiler for C supports arguments -Wmissing-attributes: YES
Compiler for C supports arguments -Wmissing-braces: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-field-initializers: YES
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wmissing-parameter-type: YES
Compiler for C supports arguments -Wmissing-profile: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wmultichar: YES
Compiler for C supports arguments -Wmultistatement-macros: YES
Compiler for C supports arguments -Wnarrowing: YES
Compiler for C supports arguments -Wnested-externs: YES
Compiler for C supports arguments -Wnonnull: YES
Compiler for C supports arguments -Wnonnull-compare: YES
Compiler for C supports arguments -Wnormalized=nfc: YES
Compiler for C supports arguments -Wnull-dereference: YES
Compiler for C supports arguments -Wodr: YES
Compiler for C supports arguments -Wold-style-declaration: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wopenmp-simd: YES
Compiler for C supports arguments -Woverflow: YES
Compiler for C supports arguments -Woverride-init: YES
Compiler for C supports arguments -Wpacked-bitfield-compat: YES
Compiler for C supports arguments -Wpacked-not-aligned: YES
Compiler for C supports arguments -Wparentheses: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wpointer-compare: YES
Compiler for C supports arguments -Wpointer-sign: YES
Compiler for C supports arguments -Wpointer-to-int-cast: YES
Compiler for C supports arguments -Wpragmas: YES
Compiler for C supports arguments -Wpsabi: YES
Compiler for C supports arguments -Wrestrict: YES
Compiler for C supports arguments -Wreturn-local-addr: YES
Compiler for C supports arguments -Wreturn-type: YES
Compiler for C supports arguments -Wscalar-storage-order: YES
Compiler for C supports arguments -Wsequence-point: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wshift-count-negative: YES
Compiler for C supports arguments -Wshift-count-overflow: YES
Compiler for C supports arguments -Wshift-negative-value: YES
Compiler for C supports arguments -Wshift-overflow=2: YES
Compiler for C supports arguments -Wno-sign-compare: YES
Compiler for C supports arguments -Wsizeof-array-argument: YES
Compiler for C supports arguments -Wsizeof-pointer-div: YES
Compiler for C supports arguments -Wsizeof-pointer-memaccess: YES
Compiler for C supports arguments -Wstrict-aliasing: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wstringop-overflow=2: YES
Compiler for C supports arguments -Wstringop-truncation: YES
Compiler for C supports arguments -Wsuggest-attribute=cold: YES
Compiler for C supports arguments -Wno-suggest-attribute=const: YES
Compiler for C supports arguments -Wsuggest-attribute=format: YES
Compiler for C supports arguments -Wsuggest-attribute=noreturn: YES
Compiler for C supports arguments -Wno-suggest-attribute=pure: YES
Compiler for C supports arguments -Wsuggest-final-methods: YES
Compiler for C supports arguments -Wsuggest-final-types: YES
Compiler for C supports arguments -Wswitch: YES
Compiler for C supports arguments -Wswitch-bool: YES
Compiler for C supports arguments -Wswitch-enum: YES
Compiler for C supports arguments -Wswitch-unreachable: YES
Compiler for C supports arguments -Wsync-nand: YES
Compiler for C supports arguments -Wtautological-compare: YES
Compiler for C supports arguments -Wtrampolines: YES
Compiler for C supports arguments -Wtrigraphs: YES
Compiler for C supports arguments -Wtype-limits: YES
Compiler for C supports arguments -Wno-typedef-redefinition: NO
Compiler for C supports arguments -Wuninitialized: YES
Compiler for C supports arguments -Wunknown-pragmas: YES
Compiler for C supports arguments -Wunused: YES
Compiler for C supports arguments -Wunused-but-set-parameter: YES
Compiler for C supports arguments -Wunused-but-set-variable: YES
Compiler for C supports arguments -Wunused-const-variable=2: YES
Compiler for C supports arguments -Wunused-function: YES
Compiler for C supports arguments -Wunused-label: YES
Compiler for C supports arguments -Wunused-local-typedefs: YES
Compiler for C supports arguments -Wunused-parameter: YES
Compiler for C supports arguments -Wunused-result: YES
Compiler for C supports arguments -Wunused-value: YES
Compiler for C supports arguments -Wunused-variable: YES
Compiler for C supports arguments -Wvarargs: YES
Compiler for C supports arguments -Wvariadic-macros: YES
Compiler for C supports arguments -Wvector-operation-performance: YES
Compiler for C supports arguments -Wvla: YES
Compiler for C supports arguments -Wvolatile-register-var: YES
Compiler for C supports arguments -Wwrite-strings: YES
Compiler for C supports arguments -fstack-protector-strong: YES
First supported argument: -fstack-protector-strong
Checking if "-Wdouble-promotion" compiles: YES
Compiler for C supports arguments -Wsuggest-attribute=format: YES (cached)
Compiler for C supports arguments -Wframe-larger-than=262144: YES
Compiler for C supports link arguments -Wl,-z,relro: YES
Compiler for C supports link arguments -Wl,-z,now: YES
Compiler for C supports link arguments -Wl,-z,nodelete: YES
Compiler for C supports link arguments -Wl,-z,defs: YES
Compiler for C supports link arguments -Wl,--no-copy-dt-needed-entries: YES
Compiler for C supports link arguments -Wl,--version-script=/home/penghao/libvirt/libvirt-8.10.0/src/libvirt_qemu.syms: YES
Compiler for C supports link arguments -Wl,-export-dynamic: YES
First supported link argument: -Wl,-export-dynamic
Checking for function "elf_aux_info" : NO
Checking for function "fallocate" : YES
Checking for function "getauxval" : YES
Checking for function "getegid" : YES
Checking for function "geteuid" : YES
Checking for function "getgid" : YES
Checking for function "getifaddrs" : YES
Checking for function "getmntent_r" : YES
Checking for function "getpwuid_r" : YES
Checking for function "getrlimit" : YES
Checking for function "getuid" : YES
Checking for function "getutxid" : YES
Checking for function "if_indextoname" : YES
Checking for function "mmap" : YES
Checking for function "newlocale" : YES
Checking for function "pipe2" : YES
Checking for function "posix_fallocate" : YES
Checking for function "posix_memalign" : YES
Checking for function "prlimit" : YES
Checking for function "sched_setscheduler" : YES
Checking for function "setgroups" : YES
Checking for function "setrlimit" : YES
Checking for function "symlink" : YES
Checking for function "sysctlbyname" : NO
Checking for function "__lxstat" : YES
Checking for function "__lxstat64" : YES
Checking for function "__xstat" : YES
Checking for function "__xstat64" : YES
Checking for function "lstat" : YES
Checking for function "lstat64" : YES
Checking for function "stat" : YES
Checking for function "stat64" : YES
Header <sys/stat.h> has symbol "__lxstat" : NO
Header <sys/stat.h> has symbol "__lxstat64" : NO
Header <sys/stat.h> has symbol "__xstat" : NO
Header <sys/stat.h> has symbol "__xstat64" : NO
Header <sys/stat.h> has symbol "lstat" : YES
Header <sys/stat.h> has symbol "lstat64" : NO
Header <sys/stat.h> has symbol "stat" : YES
Header <sys/stat.h> has symbol "stat64" : NO
Has header "asm/hwcap.h" : NO
Has header "ifaddrs.h" : YES
Has header "libtasn1.h" : YES
Has header "linux/kvm.h" : YES
Has header "linux/magic.h" : YES
Has header "mntent.h" : YES
Has header "net/ethernet.h" : YES
Has header "net/if.h" : YES
Has header "pty.h" : YES
Has header "pwd.h" : YES
Has header "sched.h" : YES
Has header "sys/auxv.h" : YES
Has header "sys/ioctl.h" : YES
Has header "sys/mount.h" : YES
Has header "sys/syscall.h" : YES
Has header "sys/ucred.h" : NO
Has header "syslog.h" : YES
Has header "util.h" : NO
Has header "xlocale.h" : NO
Has header "linux/devlink.h" : YES
Has header "linux/param.h" : YES
Has header "linux/sockios.h" : YES
Has header "linux/if_bridge.h" : YES
Has header "linux/if_tun.h" : YES
Header <endian.h> has symbol "htole64" : YES
Header <linux/ethtool.h> has symbol "ETH_FLAG_TXVLAN" : YES
Header <linux/ethtool.h> has symbol "ETH_FLAG_NTUPLE" : YES
Header <linux/ethtool.h> has symbol "ETH_FLAG_RXHASH" : YES
Header <linux/ethtool.h> has symbol "ETH_FLAG_LRO" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GGSO" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GGRO" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GFLAGS" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GFEATURES" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_SCOALESCE" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GCOALESCE" : YES
Header <linux/if_vlan.h> has symbol "GET_VLAN_VID_CMD" : YES
Header <unistd.h> has symbol "SEEK_HOLE" : YES
Header <net/if_dl.h> has symbol "link_addr" : NO
Header <sched.h> has symbol "cpu_set_t" : YES
Header <linux/devlink.h> has symbol "DEVLINK_CMD_ESWITCH_GET" : YES
Header <linux/vhost.h> has symbol "VHOST_VSOCK_SET_GUEST_CID" : YES
Header <linux/bpf.h> has symbol "BPF_PROG_QUERY" : YES
Header <linux/bpf.h> has symbol "BPF_CGROUP_DEVICE" : YES
Header <net/if_bridgevar.h> has symbol "BRDGSFD" : NO
Header <sys/cpuset.h> has symbol "cpuset_getaffinity" : NO
Header <mach/clock.h> has symbol "clock_serv_t" : NO
Checking for type "struct ifreq" : YES
Checking for type "struct sockpeercred" : NO
Checking whether type "struct ifreq" has member "ifr_newname" : YES
Checking whether type "struct ifreq" has member "ifr_ifindex" : YES
Checking whether type "struct ifreq" has member "ifr_index" : NO
Checking whether type "struct ifreq" has member "ifr_hwaddr" : YES
Checking for size of "long" : 8
Program perl found: YES (/usr/bin/perl)
Program python3 found: YES (/usr/bin/python3)
Program xmllint found: YES (/usr/bin/xmllint)
Program xsltproc found: YES (/usr/bin/xsltproc)
Program rpcgen portable-rpcgen found: NO
meson.build:806:2: ERROR: Program 'rpcgen portable-rpcgen' not found or not executable
A full log can be found at /home/penghao/libvirt/libvirt-8.10.0/build/meson-logs/meson-log.txt
出现了错误“ERROR: Program 'rpcgen portable-rpcgen' not found or not executable”,如何解决?
在此要感谢以下博客:
Centos7.6 下编译安装 Libvirt 7.5_wx5c32e0f673252的技术博客_51CTO博客
其中提到了对于此问题的解决方法,如下所示:
- ERROR: Program 'rpcgen portable-rpcgen' not found
wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.2/rpcsvc-proto-1.4.2.tar.xz ./configure --sysconfdir=/etc && make make install
按照此解决方法执行。
1)下载rpcsvc-proto源码
penghao@Ding-Perlis-MP260S48:~/libvirt$ wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.2/rpcsvc-proto-1.4.2.tar.xz
--2023-03-22 17:45:51-- https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.2/rpcsvc-proto-1.4.2.tar.xz
正在解析主机 github.com... 20.200.245.247
正在连接 github.com|20.200.245.247|:443... 已连接。已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://objects.githubusercontent.com/github-production-release-asset-2e65be/55140533/0b9adf00-ba15-11ea-8486-ee9440048c0f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230322%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230322T094551Z&X-Amz-Expires=300&X-Amz-Signature=b6ed88b9c69ea013ee91c7876cf23d9c279ba99be8ae80bd9bd2443a88518d84&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=55140533&response-content-disposition=attachment%3B%20filename%3Drpcsvc-proto-1.4.2.tar.xz&response-content-type=application%2Foctet-stream [跟随至新的 URL]
--2023-03-22 17:45:52-- https://objects.githubusercontent.com/github-production-release-asset-2e65be/55140533/0b9adf00-ba15-11ea-8486-ee9440048c0f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230322%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230322T094551Z&X-Amz-Expires=300&X-Amz-Signature=b6ed88b9c69ea013ee91c7876cf23d9c279ba99be8ae80bd9bd2443a88518d84&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=55140533&response-content-disposition=attachment%3B%20filename%3Drpcsvc-proto-1.4.2.tar.xz&response-content-type=application%2Foctet-stream
正在解析主机 objects.githubusercontent.com... 185.199.111.133, 185.199.109.133, 185.199.108.133, ...
正在连接 objects.githubusercontent.com|185.199.111.133|:443... 已连接。已发出 HTTP 请求,正在等待回应... 200 OK
长度:171620 (168K) [application/octet-stream]
正在保存至: “rpcsvc-proto-1.4.2.tar.xz”
rpcsvc-proto-1.4.2.tar.xz 100%[========================================================================================================================================>] 167.60K 672KB/s 用时 0.2s
2023-03-22 17:45:53 (672 KB/s) - 已保存 “rpcsvc-proto-1.4.2.tar.xz” [171620/171620])
2)解压
$ tar Jxvf rpcsvc-proto-1.4.2.tar.xz
rpcsvc-proto-1.4.2/
rpcsvc-proto-1.4.2/m4/
rpcsvc-proto-1.4.2/m4/gettext.m4
rpcsvc-proto-1.4.2/m4/iconv.m4
rpcsvc-proto-1.4.2/m4/intlmacosx.m4
rpcsvc-proto-1.4.2/m4/lib-ld.m4
rpcsvc-proto-1.4.2/m4/lib-link.m4
rpcsvc-proto-1.4.2/m4/lib-prefix.m4
rpcsvc-proto-1.4.2/m4/nls.m4
rpcsvc-proto-1.4.2/m4/po.m4
rpcsvc-proto-1.4.2/m4/progtest.m4
rpcsvc-proto-1.4.2/Makefile.am
rpcsvc-proto-1.4.2/configure
rpcsvc-proto-1.4.2/configure.ac
rpcsvc-proto-1.4.2/aclocal.m4
rpcsvc-proto-1.4.2/Makefile.in
rpcsvc-proto-1.4.2/config.h.in
rpcsvc-proto-1.4.2/ABOUT-NLS
rpcsvc-proto-1.4.2/AUTHORS
rpcsvc-proto-1.4.2/COPYING
rpcsvc-proto-1.4.2/ChangeLog
rpcsvc-proto-1.4.2/INSTALL
rpcsvc-proto-1.4.2/NEWS
rpcsvc-proto-1.4.2/README
rpcsvc-proto-1.4.2/THANKS
rpcsvc-proto-1.4.2/compile
rpcsvc-proto-1.4.2/config.guess
rpcsvc-proto-1.4.2/config.rpath
rpcsvc-proto-1.4.2/config.sub
rpcsvc-proto-1.4.2/depcomp
rpcsvc-proto-1.4.2/install-sh
rpcsvc-proto-1.4.2/missing
rpcsvc-proto-1.4.2/rpcgen/
rpcsvc-proto-1.4.2/rpcgen/Makefile.am
rpcsvc-proto-1.4.2/rpcgen/proto.h
rpcsvc-proto-1.4.2/rpcgen/rpc_parse.h
rpcsvc-proto-1.4.2/rpcgen/rpc_scan.h
rpcsvc-proto-1.4.2/rpcgen/rpc_util.h
rpcsvc-proto-1.4.2/rpcgen/Makefile.in
rpcsvc-proto-1.4.2/rpcgen/rpc_clntout.c
rpcsvc-proto-1.4.2/rpcgen/rpc_cout.c
rpcsvc-proto-1.4.2/rpcgen/rpc_hout.c
rpcsvc-proto-1.4.2/rpcgen/rpc_main.c
rpcsvc-proto-1.4.2/rpcgen/rpc_parse.c
rpcsvc-proto-1.4.2/rpcgen/rpc_sample.c
rpcsvc-proto-1.4.2/rpcgen/rpc_scan.c
rpcsvc-proto-1.4.2/rpcgen/rpc_svcout.c
rpcsvc-proto-1.4.2/rpcgen/rpc_tblout.c
rpcsvc-proto-1.4.2/rpcgen/rpc_util.c
rpcsvc-proto-1.4.2/rpcgen/rpcgen.1
rpcsvc-proto-1.4.2/rpcsvc/
rpcsvc-proto-1.4.2/rpcsvc/Makefile.am
rpcsvc-proto-1.4.2/rpcsvc/klm_prot.x
rpcsvc-proto-1.4.2/rpcsvc/nlm_prot.x
rpcsvc-proto-1.4.2/rpcsvc/rstat.x
rpcsvc-proto-1.4.2/rpcsvc/spray.x
rpcsvc-proto-1.4.2/rpcsvc/bootparam_prot.x
rpcsvc-proto-1.4.2/rpcsvc/mount.x
rpcsvc-proto-1.4.2/rpcsvc/rex.x
rpcsvc-proto-1.4.2/rpcsvc/rusers.x
rpcsvc-proto-1.4.2/rpcsvc/key_prot.x
rpcsvc-proto-1.4.2/rpcsvc/nfs_prot.x
rpcsvc-proto-1.4.2/rpcsvc/rquota.x
rpcsvc-proto-1.4.2/rpcsvc/sm_inter.x
rpcsvc-proto-1.4.2/rpcsvc/Makefile.in
rpcsvc-proto-1.4.2/po/
rpcsvc-proto-1.4.2/po/Makefile.in.in
rpcsvc-proto-1.4.2/po/remove-potcdate.sin
rpcsvc-proto-1.4.2/po/quot.sed
rpcsvc-proto-1.4.2/po/boldquot.sed
rpcsvc-proto-1.4.2/po/[email protected]
rpcsvc-proto-1.4.2/po/[email protected]
rpcsvc-proto-1.4.2/po/insert-header.sin
rpcsvc-proto-1.4.2/po/Rules-quot
rpcsvc-proto-1.4.2/po/Makevars
rpcsvc-proto-1.4.2/po/POTFILES.in
penghao@Ding-Perlis-MP260S48:~/libvirt$ ls
libvirt-8.10.0 libvirt-8.10.0.tar.xz rpcsvc-proto-1.4.2 rpcsvc-proto-1.4.2.tar.xz
3)进入源码路径
$ cd rpcsvc-proto-1.4.2/
penghao@Ding-Perlis-MP260S48:~/libvirt/rpcsvc-proto-1.4.2$ ls
ABOUT-NLS AUTHORS compile config.h.in config.sub configure.ac depcomp install-sh Makefile.am missing po rpcgen THANKS
aclocal.m4 ChangeLog config.guess config.rpath configure COPYING INSTALL m4
4)配置
$ ./configure --sysconfdir=/etc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking how to run the C preprocessor... gcc -E
checking for library containing strerror... none required
checking whether make sets $(MAKE)... (cached) yes
checking for a sed that does not truncate output... /usr/bin/sed
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating rpcgen/Makefile
config.status: creating rpcsvc/Makefile
config.status: creating po/Makefile.in
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
5)编译
$ make
make all-recursive
make[1]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2”
Making all in rpcgen
make[2]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcgen”
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_clntout.o -MD -MP -MF .deps/rpc_clntout.Tpo -c -o rpc_clntout.o rpc_clntout.c
mv -f .deps/rpc_clntout.Tpo .deps/rpc_clntout.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_cout.o -MD -MP -MF .deps/rpc_cout.Tpo -c -o rpc_cout.o rpc_cout.c
mv -f .deps/rpc_cout.Tpo .deps/rpc_cout.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_hout.o -MD -MP -MF .deps/rpc_hout.Tpo -c -o rpc_hout.o rpc_hout.c
mv -f .deps/rpc_hout.Tpo .deps/rpc_hout.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_main.o -MD -MP -MF .deps/rpc_main.Tpo -c -o rpc_main.o rpc_main.c
mv -f .deps/rpc_main.Tpo .deps/rpc_main.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_parse.o -MD -MP -MF .deps/rpc_parse.Tpo -c -o rpc_parse.o rpc_parse.c
mv -f .deps/rpc_parse.Tpo .deps/rpc_parse.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_sample.o -MD -MP -MF .deps/rpc_sample.Tpo -c -o rpc_sample.o rpc_sample.c
mv -f .deps/rpc_sample.Tpo .deps/rpc_sample.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_scan.o -MD -MP -MF .deps/rpc_scan.Tpo -c -o rpc_scan.o rpc_scan.c
mv -f .deps/rpc_scan.Tpo .deps/rpc_scan.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_svcout.o -MD -MP -MF .deps/rpc_svcout.Tpo -c -o rpc_svcout.o rpc_svcout.c
mv -f .deps/rpc_svcout.Tpo .deps/rpc_svcout.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_tblout.o -MD -MP -MF .deps/rpc_tblout.Tpo -c -o rpc_tblout.o rpc_tblout.c
mv -f .deps/rpc_tblout.Tpo .deps/rpc_tblout.Po
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT rpc_util.o -MD -MP -MF .deps/rpc_util.Tpo -c -o rpc_util.o rpc_util.c
mv -f .deps/rpc_util.Tpo .deps/rpc_util.Po
gcc -g -O2 -o rpcgen rpc_clntout.o rpc_cout.o rpc_hout.o rpc_main.o rpc_parse.o rpc_sample.o rpc_scan.o rpc_svcout.o rpc_tblout.o rpc_util.o
make[2]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcgen”
Making all in rpcsvc
make[2]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcsvc”
../rpcgen/rpcgen -h -o klm_prot.h klm_prot.x
../rpcgen/rpcgen -h -o nlm_prot.h nlm_prot.x
../rpcgen/rpcgen -h -o rstat.h rstat.x
../rpcgen/rpcgen -h -o spray.h spray.x
../rpcgen/rpcgen -h -o bootparam_prot.h bootparam_prot.x
../rpcgen/rpcgen -h -o mount.h mount.x
../rpcgen/rpcgen -h -o rex.h rex.x
../rpcgen/rpcgen -h -o rusers.h rusers.x
../rpcgen/rpcgen -h -o key_prot.h key_prot.x
../rpcgen/rpcgen -h -o nfs_prot.h nfs_prot.x
../rpcgen/rpcgen -h -o rquota.h rquota.x
../rpcgen/rpcgen -h -o sm_inter.h sm_inter.x
make[2]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcsvc”
Making all in po
make[2]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/po”
make rpcsvc-proto.pot-update
make[3]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/po”
sed -e '/^#/d' remove-potcdate.sin > t-remove-potcdate.sed
mv t-remove-potcdate.sed remove-potcdate.sed
package_gnu=""; \
test -n "$package_gnu" || { \
if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
LC_ALL=C find -L .. -maxdepth 1 -type f \
-size -10000000c -exec grep 'GNU rpcsvc-proto' \
/dev/null '{}' ';' 2>/dev/null; \
else \
LC_ALL=C grep 'GNU rpcsvc-proto' ../* 2>/dev/null; \
fi; \
} | grep -v 'libtool:' >/dev/null; then \
package_gnu=yes; \
else \
package_gnu=no; \
fi; \
}; \
if test "$package_gnu" = "yes"; then \
package_prefix='GNU '; \
else \
package_prefix=''; \
fi; \
if test -n '' || test '[email protected]' = '@'PACKAGE_BUGREPORT'@'; then \
msgid_bugs_address=''; \
else \
msgid_bugs_address='[email protected]'; \
fi; \
case `/usr/bin/xgettext --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
/usr/bin/xgettext --default-domain=rpcsvc-proto --directory=.. \
--add-comments=TRANSLATORS: --keyword=_ --keyword=N_ \
--files-from=./POTFILES.in \
--copyright-holder='Free Software Foundation, Inc.' \
--msgid-bugs-address="$msgid_bugs_address" \
;; \
*) \
/usr/bin/xgettext --default-domain=rpcsvc-proto --directory=.. \
--add-comments=TRANSLATORS: --keyword=_ --keyword=N_ \
--files-from=./POTFILES.in \
--copyright-holder='Free Software Foundation, Inc.' \
--package-name="${package_prefix}rpcsvc-proto" \
--package-version='1.4.2' \
--msgid-bugs-address="$msgid_bugs_address" \
;; \
esac
test ! -f rpcsvc-proto.po || { \
if test -f ./rpcsvc-proto.pot-header; then \
sed -e '1,/^#$/d' < rpcsvc-proto.po > rpcsvc-proto.1po && \
cat ./rpcsvc-proto.pot-header rpcsvc-proto.1po > rpcsvc-proto.po; \
rm -f rpcsvc-proto.1po; \
fi; \
if test -f ./rpcsvc-proto.pot; then \
sed -f remove-potcdate.sed < ./rpcsvc-proto.pot > rpcsvc-proto.1po && \
sed -f remove-potcdate.sed < rpcsvc-proto.po > rpcsvc-proto.2po && \
if cmp rpcsvc-proto.1po rpcsvc-proto.2po >/dev/null 2>&1; then \
rm -f rpcsvc-proto.1po rpcsvc-proto.2po rpcsvc-proto.po; \
else \
rm -f rpcsvc-proto.1po rpcsvc-proto.2po ./rpcsvc-proto.pot && \
mv rpcsvc-proto.po ./rpcsvc-proto.pot; \
fi; \
else \
mv rpcsvc-proto.po ./rpcsvc-proto.pot; \
fi; \
}
make[3]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/po”
test ! -f ./rpcsvc-proto.pot || \
test -z "" || make
make[2]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/po”
make[2]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2”
make[2]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2”
make[1]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2”
6)安装
$ sudo make install
[sudo] penghao 的密码:Making install in rpcgen
make[1]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcgen”
make[2]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcgen”
/usr/bin/mkdir -p '/usr/bin'
/usr/bin/install -c rpcgen '/usr/bin'
/usr/bin/mkdir -p '/usr/share/man/man1'
/usr/bin/install -c -m 644 rpcgen.1 '/usr/share/man/man1'
make[2]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcgen”
make[1]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcgen”
Making install in rpcsvc
make[1]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcsvc”
make[2]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcsvc”
make[2]: 对“install-exec-am”无需做任何事。 /usr/bin/mkdir -p '/usr/include/rpcsvc'
/usr/bin/install -c -m 644 klm_prot.h nlm_prot.h rstat.h spray.h bootparam_prot.h mount.h rex.h rusers.h key_prot.h nfs_prot.h rquota.h sm_inter.h '/usr/include/rpcsvc'
/usr/bin/mkdir -p '/usr/include/rpcsvc'
/usr/bin/install -c -m 644 klm_prot.x nlm_prot.x rstat.x spray.x bootparam_prot.x mount.x rex.x rusers.x key_prot.x nfs_prot.x rquota.x sm_inter.x '/usr/include/rpcsvc'
make[2]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcsvc”
make[1]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/rpcsvc”
Making install in po
make[1]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/po”
make rpcsvc-proto.pot-update
make[2]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/po”
package_gnu=""; \
test -n "$package_gnu" || { \
if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
LC_ALL=C find -L .. -maxdepth 1 -type f \
-size -10000000c -exec grep 'GNU rpcsvc-proto' \
/dev/null '{}' ';' 2>/dev/null; \
else \
LC_ALL=C grep 'GNU rpcsvc-proto' ../* 2>/dev/null; \
fi; \
} | grep -v 'libtool:' >/dev/null; then \
package_gnu=yes; \
else \
package_gnu=no; \
fi; \
}; \
if test "$package_gnu" = "yes"; then \
package_prefix='GNU '; \
else \
package_prefix=''; \
fi; \
if test -n '' || test '[email protected]' = '@'PACKAGE_BUGREPORT'@'; then \
msgid_bugs_address=''; \
else \
msgid_bugs_address='[email protected]'; \
fi; \
case `/usr/bin/xgettext --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
/usr/bin/xgettext --default-domain=rpcsvc-proto --directory=.. \
--add-comments=TRANSLATORS: --keyword=_ --keyword=N_ \
--files-from=./POTFILES.in \
--copyright-holder='Free Software Foundation, Inc.' \
--msgid-bugs-address="$msgid_bugs_address" \
;; \
*) \
/usr/bin/xgettext --default-domain=rpcsvc-proto --directory=.. \
--add-comments=TRANSLATORS: --keyword=_ --keyword=N_ \
--files-from=./POTFILES.in \
--copyright-holder='Free Software Foundation, Inc.' \
--package-name="${package_prefix}rpcsvc-proto" \
--package-version='1.4.2' \
--msgid-bugs-address="$msgid_bugs_address" \
;; \
esac
test ! -f rpcsvc-proto.po || { \
if test -f ./rpcsvc-proto.pot-header; then \
sed -e '1,/^#$/d' < rpcsvc-proto.po > rpcsvc-proto.1po && \
cat ./rpcsvc-proto.pot-header rpcsvc-proto.1po > rpcsvc-proto.po; \
rm -f rpcsvc-proto.1po; \
fi; \
if test -f ./rpcsvc-proto.pot; then \
sed -f remove-potcdate.sed < ./rpcsvc-proto.pot > rpcsvc-proto.1po && \
sed -f remove-potcdate.sed < rpcsvc-proto.po > rpcsvc-proto.2po && \
if cmp rpcsvc-proto.1po rpcsvc-proto.2po >/dev/null 2>&1; then \
rm -f rpcsvc-proto.1po rpcsvc-proto.2po rpcsvc-proto.po; \
else \
rm -f rpcsvc-proto.1po rpcsvc-proto.2po ./rpcsvc-proto.pot && \
mv rpcsvc-proto.po ./rpcsvc-proto.pot; \
fi; \
else \
mv rpcsvc-proto.po ./rpcsvc-proto.pot; \
fi; \
}
make[2]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/po”
test ! -f ./rpcsvc-proto.pot || \
test -z "" || make
if test "rpcsvc-proto" = "gettext-tools"; then \
/usr/bin/mkdir -p /usr/share/gettext/po; \
for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed [email protected] [email protected] insert-header.sin Rules-quot Makevars.template; do \
/usr/bin/install -c -m 644 ./$file \
/usr/share/gettext/po/$file; \
done; \
for file in Makevars; do \
rm -f /usr/share/gettext/po/$file; \
done; \
else \
: ; \
fi
make[1]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2/po”
make[1]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2”
make[2]: 进入目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2”
make[2]: 对“install-exec-am”无需做任何事。make[2]: 对“install-data-am”无需做任何事。make[2]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2”
make[1]: 离开目录“/home/penghao/libvirt/rpcsvc-proto-1.4.2”
解决以上问题后,恢复执行步骤“(1)执行构建命令”。命令及结果如下:
$ meson build -Dsystem=true -Ddriver_qemu=enabled
The Meson build system
Version: 0.62.2
Source dir: /home/penghao/libvirt/libvirt-8.10.0
Build dir: /home/penghao/libvirt/libvirt-8.10.0/build
Build type: native build
Project name: libvirt
Project version: 8.10.0
C compiler for the host machine: cc (gcc 12.1.0 "cc (GCC) 12.1.0")
C linker for the host machine: cc ld.bfd 2.38
Host machine cpu family: x86_64
Host machine cpu: x86_64
Configuring configmake.h using configuration
Checking for size of "ptrdiff_t" : 8
Checking for size of "size_t" : 8
Compiler for C supports arguments -fasynchronous-unwind-tables: YES
Compiler for C supports arguments -fexceptions: YES
Compiler for C supports arguments -fipa-pure-const: YES
Compiler for C supports arguments -fno-common: YES
Compiler for C supports arguments -Wabsolute-value: YES
Compiler for C supports arguments -Waddress: YES
Compiler for C supports arguments -Waddress-of-packed-member: YES
Compiler for C supports arguments -Waggressive-loop-optimizations: YES
Compiler for C supports arguments -Walloc-size-larger-than=9223372036854775807: YES
Compiler for C supports arguments -Walloca: YES
Compiler for C supports arguments -Warray-bounds=2: YES
Compiler for C supports arguments -Wattribute-alias=2: YES
Compiler for C supports arguments -Wattribute-warning: YES
Compiler for C supports arguments -Wattributes: YES
Compiler for C supports arguments -Wbool-compare: YES
Compiler for C supports arguments -Wbool-operation: YES
Compiler for C supports arguments -Wbuiltin-declaration-mismatch: YES
Compiler for C supports arguments -Wbuiltin-macro-redefined: YES
Compiler for C supports arguments -Wcannot-profile: YES
Compiler for C supports arguments -Wcast-align: YES
Compiler for C supports arguments -Wcast-align=strict: YES
Compiler for C supports arguments -Wno-cast-function-type: YES
Compiler for C supports arguments -Wchar-subscripts: YES
Compiler for C supports arguments -Wclobbered: YES
Compiler for C supports arguments -Wcomment: YES
Compiler for C supports arguments -Wcomments: YES
Compiler for C supports arguments -Wcoverage-mismatch: YES
Compiler for C supports arguments -Wcpp: YES
Compiler for C supports arguments -Wdangling-else: YES
Compiler for C supports arguments -Wdate-time: YES
Compiler for C supports arguments -Wdeclaration-after-statement: YES
Compiler for C supports arguments -Wdeprecated-declarations: YES
Compiler for C supports arguments -Wdesignated-init: YES
Compiler for C supports arguments -Wdiscarded-array-qualifiers: YES
Compiler for C supports arguments -Wdiscarded-qualifiers: YES
Compiler for C supports arguments -Wdiv-by-zero: YES
Compiler for C supports arguments -Wduplicated-cond: YES
Compiler for C supports arguments -Wduplicate-decl-specifier: YES
Compiler for C supports arguments -Wempty-body: YES
Compiler for C supports arguments -Wendif-labels: YES
Compiler for C supports arguments -Wexpansion-to-defined: YES
Compiler for C supports arguments -Wformat-contains-nul: YES
Compiler for C supports arguments -Wformat-extra-args: YES
Compiler for C supports arguments -Wno-format-nonliteral: YES
Compiler for C supports arguments -Wformat-overflow=2: YES
Compiler for C supports arguments -Wformat-security: YES
Compiler for C supports arguments -Wno-format-truncation: YES
Compiler for C supports arguments -Wformat-y2k: YES
Compiler for C supports arguments -Wformat-zero-length: YES
Compiler for C supports arguments -Wframe-address: YES
Compiler for C supports arguments -Wframe-larger-than=4096: YES
Compiler for C supports arguments -Wfree-nonheap-object: YES
Compiler for C supports arguments -Whsa: YES
Compiler for C supports arguments -Wif-not-aligned: YES
Compiler for C supports arguments -Wignored-attributes: YES
Compiler for C supports arguments -Wignored-qualifiers: YES
Compiler for C supports arguments -Wimplicit: YES
Compiler for C supports arguments -Wimplicit-fallthrough=5: YES
Compiler for C supports arguments -Wimplicit-function-declaration: YES
Compiler for C supports arguments -Wimplicit-int: YES
Compiler for C supports arguments -Wincompatible-pointer-types: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Winline: YES
Compiler for C supports arguments -Wint-conversion: YES
Compiler for C supports arguments -Wint-in-bool-context: YES
Compiler for C supports arguments -Wint-to-pointer-cast: YES
Compiler for C supports arguments -Winvalid-memory-model: YES
Compiler for C supports arguments -Winvalid-pch: YES
Compiler for C supports arguments -Wjump-misses-init: YES
Compiler for C supports arguments -Wlogical-not-parentheses: YES
Compiler for C supports arguments -Wlogical-op: YES
Compiler for C supports arguments -Wmain: YES
Compiler for C supports arguments -Wmaybe-uninitialized: YES
Compiler for C supports arguments -Wmemset-elt-size: YES
Compiler for C supports arguments -Wmemset-transposed-args: YES
Compiler for C supports arguments -Wmisleading-indentation: YES
Compiler for C supports arguments -Wmissing-attributes: YES
Compiler for C supports arguments -Wmissing-braces: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-field-initializers: YES
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wmissing-parameter-type: YES
Compiler for C supports arguments -Wmissing-profile: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wmultichar: YES
Compiler for C supports arguments -Wmultistatement-macros: YES
Compiler for C supports arguments -Wnarrowing: YES
Compiler for C supports arguments -Wnested-externs: YES
Compiler for C supports arguments -Wnonnull: YES
Compiler for C supports arguments -Wnonnull-compare: YES
Compiler for C supports arguments -Wnormalized=nfc: YES
Compiler for C supports arguments -Wnull-dereference: YES
Compiler for C supports arguments -Wodr: YES
Compiler for C supports arguments -Wold-style-declaration: YES
Compiler for C supports arguments -Wold-style-definition: YES
Compiler for C supports arguments -Wopenmp-simd: YES
Compiler for C supports arguments -Woverflow: YES
Compiler for C supports arguments -Woverride-init: YES
Compiler for C supports arguments -Wpacked-bitfield-compat: YES
Compiler for C supports arguments -Wpacked-not-aligned: YES
Compiler for C supports arguments -Wparentheses: YES
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wpointer-compare: YES
Compiler for C supports arguments -Wpointer-sign: YES
Compiler for C supports arguments -Wpointer-to-int-cast: YES
Compiler for C supports arguments -Wpragmas: YES
Compiler for C supports arguments -Wpsabi: YES
Compiler for C supports arguments -Wrestrict: YES
Compiler for C supports arguments -Wreturn-local-addr: YES
Compiler for C supports arguments -Wreturn-type: YES
Compiler for C supports arguments -Wscalar-storage-order: YES
Compiler for C supports arguments -Wsequence-point: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wshift-count-negative: YES
Compiler for C supports arguments -Wshift-count-overflow: YES
Compiler for C supports arguments -Wshift-negative-value: YES
Compiler for C supports arguments -Wshift-overflow=2: YES
Compiler for C supports arguments -Wno-sign-compare: YES
Compiler for C supports arguments -Wsizeof-array-argument: YES
Compiler for C supports arguments -Wsizeof-pointer-div: YES
Compiler for C supports arguments -Wsizeof-pointer-memaccess: YES
Compiler for C supports arguments -Wstrict-aliasing: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wstringop-overflow=2: YES
Compiler for C supports arguments -Wstringop-truncation: YES
Compiler for C supports arguments -Wsuggest-attribute=cold: YES
Compiler for C supports arguments -Wno-suggest-attribute=const: YES
Compiler for C supports arguments -Wsuggest-attribute=format: YES
Compiler for C supports arguments -Wsuggest-attribute=noreturn: YES
Compiler for C supports arguments -Wno-suggest-attribute=pure: YES
Compiler for C supports arguments -Wsuggest-final-methods: YES
Compiler for C supports arguments -Wsuggest-final-types: YES
Compiler for C supports arguments -Wswitch: YES
Compiler for C supports arguments -Wswitch-bool: YES
Compiler for C supports arguments -Wswitch-enum: YES
Compiler for C supports arguments -Wswitch-unreachable: YES
Compiler for C supports arguments -Wsync-nand: YES
Compiler for C supports arguments -Wtautological-compare: YES
Compiler for C supports arguments -Wtrampolines: YES
Compiler for C supports arguments -Wtrigraphs: YES
Compiler for C supports arguments -Wtype-limits: YES
Compiler for C supports arguments -Wno-typedef-redefinition: NO
Compiler for C supports arguments -Wuninitialized: YES
Compiler for C supports arguments -Wunknown-pragmas: YES
Compiler for C supports arguments -Wunused: YES
Compiler for C supports arguments -Wunused-but-set-parameter: YES
Compiler for C supports arguments -Wunused-but-set-variable: YES
Compiler for C supports arguments -Wunused-const-variable=2: YES
Compiler for C supports arguments -Wunused-function: YES
Compiler for C supports arguments -Wunused-label: YES
Compiler for C supports arguments -Wunused-local-typedefs: YES
Compiler for C supports arguments -Wunused-parameter: YES
Compiler for C supports arguments -Wunused-result: YES
Compiler for C supports arguments -Wunused-value: YES
Compiler for C supports arguments -Wunused-variable: YES
Compiler for C supports arguments -Wvarargs: YES
Compiler for C supports arguments -Wvariadic-macros: YES
Compiler for C supports arguments -Wvector-operation-performance: YES
Compiler for C supports arguments -Wvla: YES
Compiler for C supports arguments -Wvolatile-register-var: YES
Compiler for C supports arguments -Wwrite-strings: YES
Compiler for C supports arguments -fstack-protector-strong: YES
First supported argument: -fstack-protector-strong
Checking if "-Wdouble-promotion" compiles: YES
Compiler for C supports arguments -Wsuggest-attribute=format: YES (cached)
Compiler for C supports arguments -Wframe-larger-than=262144: YES
Compiler for C supports link arguments -Wl,-z,relro: YES
Compiler for C supports link arguments -Wl,-z,now: YES
Compiler for C supports link arguments -Wl,-z,nodelete: YES
Compiler for C supports link arguments -Wl,-z,defs: YES
Compiler for C supports link arguments -Wl,--no-copy-dt-needed-entries: YES
Compiler for C supports link arguments -Wl,--version-script=/home/penghao/libvirt/libvirt-8.10.0/src/libvirt_qemu.syms: YES
Compiler for C supports link arguments -Wl,-export-dynamic: YES
First supported link argument: -Wl,-export-dynamic
Checking for function "elf_aux_info" : NO
Checking for function "fallocate" : YES
Checking for function "getauxval" : YES
Checking for function "getegid" : YES
Checking for function "geteuid" : YES
Checking for function "getgid" : YES
Checking for function "getifaddrs" : YES
Checking for function "getmntent_r" : YES
Checking for function "getpwuid_r" : YES
Checking for function "getrlimit" : YES
Checking for function "getuid" : YES
Checking for function "getutxid" : YES
Checking for function "if_indextoname" : YES
Checking for function "mmap" : YES
Checking for function "newlocale" : YES
Checking for function "pipe2" : YES
Checking for function "posix_fallocate" : YES
Checking for function "posix_memalign" : YES
Checking for function "prlimit" : YES
Checking for function "sched_setscheduler" : YES
Checking for function "setgroups" : YES
Checking for function "setrlimit" : YES
Checking for function "symlink" : YES
Checking for function "sysctlbyname" : NO
Checking for function "__lxstat" : YES
Checking for function "__lxstat64" : YES
Checking for function "__xstat" : YES
Checking for function "__xstat64" : YES
Checking for function "lstat" : YES
Checking for function "lstat64" : YES
Checking for function "stat" : YES
Checking for function "stat64" : YES
Header <sys/stat.h> has symbol "__lxstat" : NO
Header <sys/stat.h> has symbol "__lxstat64" : NO
Header <sys/stat.h> has symbol "__xstat" : NO
Header <sys/stat.h> has symbol "__xstat64" : NO
Header <sys/stat.h> has symbol "lstat" : YES
Header <sys/stat.h> has symbol "lstat64" : NO
Header <sys/stat.h> has symbol "stat" : YES
Header <sys/stat.h> has symbol "stat64" : NO
Has header "asm/hwcap.h" : NO
Has header "ifaddrs.h" : YES
Has header "libtasn1.h" : YES
Has header "linux/kvm.h" : YES
Has header "linux/magic.h" : YES
Has header "mntent.h" : YES
Has header "net/ethernet.h" : YES
Has header "net/if.h" : YES
Has header "pty.h" : YES
Has header "pwd.h" : YES
Has header "sched.h" : YES
Has header "sys/auxv.h" : YES
Has header "sys/ioctl.h" : YES
Has header "sys/mount.h" : YES
Has header "sys/syscall.h" : YES
Has header "sys/ucred.h" : NO
Has header "syslog.h" : YES
Has header "util.h" : NO
Has header "xlocale.h" : NO
Has header "linux/devlink.h" : YES
Has header "linux/param.h" : YES
Has header "linux/sockios.h" : YES
Has header "linux/if_bridge.h" : YES
Has header "linux/if_tun.h" : YES
Header <endian.h> has symbol "htole64" : YES
Header <linux/ethtool.h> has symbol "ETH_FLAG_TXVLAN" : YES
Header <linux/ethtool.h> has symbol "ETH_FLAG_NTUPLE" : YES
Header <linux/ethtool.h> has symbol "ETH_FLAG_RXHASH" : YES
Header <linux/ethtool.h> has symbol "ETH_FLAG_LRO" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GGSO" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GGRO" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GFLAGS" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GFEATURES" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_SCOALESCE" : YES
Header <linux/ethtool.h> has symbol "ETHTOOL_GCOALESCE" : YES
Header <linux/if_vlan.h> has symbol "GET_VLAN_VID_CMD" : YES
Header <unistd.h> has symbol "SEEK_HOLE" : YES
Header <net/if_dl.h> has symbol "link_addr" : NO
Header <sched.h> has symbol "cpu_set_t" : YES
Header <linux/devlink.h> has symbol "DEVLINK_CMD_ESWITCH_GET" : YES
Header <linux/vhost.h> has symbol "VHOST_VSOCK_SET_GUEST_CID" : YES
Header <linux/bpf.h> has symbol "BPF_PROG_QUERY" : YES
Header <linux/bpf.h> has symbol "BPF_CGROUP_DEVICE" : YES
Header <net/if_bridgevar.h> has symbol "BRDGSFD" : NO
Header <sys/cpuset.h> has symbol "cpuset_getaffinity" : NO
Header <mach/clock.h> has symbol "clock_serv_t" : NO
Checking for type "struct ifreq" : YES
Checking for type "struct sockpeercred" : NO
Checking whether type "struct ifreq" has member "ifr_newname" : YES
Checking whether type "struct ifreq" has member "ifr_ifindex" : YES
Checking whether type "struct ifreq" has member "ifr_index" : NO
Checking whether type "struct ifreq" has member "ifr_hwaddr" : YES
Checking for size of "long" : 8
Program perl found: YES (/usr/bin/perl)
Program python3 found: YES (/usr/bin/python3)
Program xmllint found: YES (/usr/bin/xmllint)
Program xsltproc found: YES (/usr/bin/xsltproc)
Program rpcgen found: YES (/usr/bin/rpcgen)
Program augparse found: NO
Program dmidecode found: YES (/usr/sbin/dmidecode)
Program ebtables found: YES (/usr/sbin/ebtables)
Program flake8 found: NO
Program ip found: YES (/usr/sbin/ip)
Program ip6tables found: YES (/usr/sbin/ip6tables)
Program iptables found: YES (/usr/sbin/iptables)
Program iscsiadm found: NO
Program mdevctl found: NO
Program mm-ctl found: NO
Program modprobe found: YES (/usr/sbin/modprobe)
Program ovs-vsctl found: NO
Program pdwtags found: NO
Program rmmod found: YES (/usr/sbin/rmmod)
Program scrub found: NO
Program tc found: YES (/usr/sbin/tc)
Program udevadm found: YES (/usr/bin/udevadm)
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency libtirpc found: YES 1.3.2
Library acl found: YES
Found CMake: /usr/bin/cmake (3.23.2)
Run-time dependency libapparmor found: NO (tried pkgconfig and cmake)
Library attr found: YES
Run-time dependency audit found: NO (tried pkgconfig and cmake)
Run-time dependency bash-completion found: YES 2.11.0
Run-time dependency blkid found: YES 2.38.0
Run-time dependency libcap-ng found: NO (tried pkgconfig and cmake)
Run-time dependency libcurl found: YES 7.84.0
Run-time dependency devmapper found: YES 1.02.185
Library dl found: YES
Has header "dlfcn.h" : YES
Run-time dependency fuse3 found: NO (tried pkgconfig and cmake)
Run-time dependency fuse found: YES 2.9.9
Run-time dependency glib-2.0 found: YES 2.72.3
Run-time dependency gobject-2.0 found: YES 2.72.3
Run-time dependency gio-unix-2.0 found: YES 2.72.3
Run-time dependency glusterfs-api found: NO (tried pkgconfig and cmake)
Run-time dependency gnutls found: YES 3.7.3
Run-time dependency libiscsi found: NO (tried pkgconfig and cmake)
Run-time dependency libnl-3.0 found: YES 3.5.0
Run-time dependency libnl-route-3.0 found: YES 3.5.0
Run-time dependency libparted found: YES 3.5
pcap-config found: NO need ['>=1.5.0']
Run-time dependency pcap found: NO (tried pkgconfig and config-tool)
Run-time dependency libssh found: NO (tried pkgconfig and cmake)
Run-time dependency libssh2 found: NO (tried pkgconfig and cmake)
Run-time dependency libxml-2.0 found: YES 2.9.14
Library m found: YES
Run-time dependency netcf found: NO (tried pkgconfig and cmake)
Checking for function "gettext" : YES
Has header "libintl.h" : YES
Program xgettext found: YES (/usr/bin/xgettext)
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msgmerge found: YES (/usr/bin/msgmerge)
Library numa found: NO
Run-time dependency openwsman found: NO (tried pkgconfig and cmake)
Run-time dependency parallels-sdk found: NO (tried pkgconfig and cmake)
Run-time dependency pciaccess found: YES 0.16
Library rbd found: NO
Library rados found: NO
Run-time dependency readline found: YES 8.1
Run-time dependency libsanlock_client found: NO (tried pkgconfig and cmake)
Run-time dependency libsasl2 found: NO (tried pkgconfig and cmake)
Run-time dependency libselinux found: NO (tried pkgconfig and cmake)
Run-time dependency threads found: YES
Run-time dependency libudev found: YES 251
Library util found: YES
Run-time dependency wireshark found: NO (tried pkgconfig and cmake)
Run-time dependency yajl found: NO (tried pkgconfig and cmake)
Program pkcheck found: YES (/usr/bin/pkcheck)
Run-time dependency xenlight found: NO (tried pkgconfig and cmake)
Checking if "lxc support" compiles: YES
meson.build:1625:6: ERROR: Problem encountered: YAJL 2 is required to build QEMU driver
A full log can be found at /home/penghao/libvirt/libvirt-8.10.0/build/meson-logs/meson-log.txt
仍然有错误“ERROR: Problem encountered: YAJL 2 is required to build QEMU driver”。如何解决?且听下回分解。