中文
注册

编译libvirt 5.6.0概率性失败的解决方法

问题现象描述

按《KVM虚拟机 安装指南》中(可选)升级libvirt相关内容编译libvirt-5.6.0,概率性62.5%出现编译失败的情况:

make[3]: Leaving directory '/root/rpmbuild/BUILD/libvirt-5.6.0/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory '/root/rpmbuild/BUILD/libvirt-5.6.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/root/rpmbuild/BUILD/libvirt-5.6.0'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/tmp-tmp.5eNem7 (%build)

RPM build errors:
Bad exit status from /var/tmp/tmp-tmp.5eNem7 (%build)

查找提示有问题的具体行,会找到以下两种提示的其中一种。

  • 第一种:
    gcc: error: ../src/libvirt_probes.o.dtrace-temp.c: No such file or directory
    gcc: fatal error: no input files
    compilation terminated.
    "gcc ../src/libvirt_probes.o.dtrace-temp.c" failed
  • 第二种:
    Traceback (most recent call last):
    File "usr/bin/dtrace", line 445, in <module>
    sys. exit (main())
    File "usr/bin/dtrace", line 432, in main
    os.remove (fname)
    OSError: [Errno 2] No such file or directory: '../src/libvirt_probes.o.dtrace-temp.c'

均与某个源码文件找不到有关。

关键过程、根本原因分析

libvirt-5.6.0Makefile缺陷,导致并发编译下出现bug。问题文件为“src/remote/Makefile.inc.am”。

结论、解决方案及效果

  1. 修改“ /bin/dtrace”文件。
    vim /bin/dtrace

    找到第308keep_temps = False,修改为如下信息:

    keep_temps = True

  2. 重新编译libvirt即可正常生成RPM包且不再报错。详细信息请参见“(可选)升级libvirt”。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词