libvirt零知识学习3 —— libvirt源码编译安装(1)

接前一篇文章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”。如何解决?且听下回分解。

猜你喜欢

转载自blog.csdn.net/phmatthaus/article/details/129711988