---
title: 编译libvirt 5.6.0概率性失败的解决方法
description: "按《KVM虚拟机 安装指南》中“（可选）升级libvirt(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/QEMU-KVM/kunpengkvm_03_0006.html)”相关内容编译libvirt-5.6.0，概率性（62.5%）出现编译失败的情况："
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/troubleshooting/trouble/kunpengkvm_09_0013.html
sourcePath: /source/zh/kunpengcpfs/troubleshooting/trouble/kunpengkvm_09_0013.html
indexId: f9a2e98c14937495065602ed70e5d74539ea49440ffe077f00dbef11fe1502ad70
---
# 编译libvirt 5.6.0概率性失败的解决方法

#### 问题现象描述

按《KVM虚拟机 安装指南》中“（可选）升级libvirt(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/QEMU-KVM/kunpengkvm_03_0006.html)”相关内容编译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.0的Makefile缺陷，导致并发编译下出现bug。问题文件为“src/remote/Makefile.inc.am”。


#### 结论、解决方案及效果

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

```
vim /bin/dtrace
```


  找到第308行keep_temps = False，修改为如下信息：

```
keep_temps = True
```


2. 重新编译libvirt即可正常生成RPM包且不再报错。详细信息请参见“（可选）升级libvirt(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/QEMU-KVM/kunpengkvm_03_0006.html)”。
