---
title: 重构软件包常见失败场景
description: "重构软件包常见失败场景请参见表1中的处理建议解决。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/devkit_24/usermanual/DevKit_Porting_0030.html
sourcePath: /source/zh/kunpengdevkithistory/devkit_24/usermanual/DevKit_Porting_0030.html
indexId: 7b2101ed253de6fd8a91899faad6241df1341f90d5cd64bf9ee344c44775c8f277
---
# 重构软件包常见失败场景

重构软件包常见失败场景请参见表1中的处理建议解决。

“/opt”为工具安装目录，请根据实际情况替换。


**表1 重构软件包常见失败场景**

| 失败场景 | 可能原因 | 处理建议 |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 缺少对应SO/静态库/JAR/二进制文件 | SO/静态库/JAR/二进制文件无法自动下载。 | 手动下载SO/静态库/JAR/二进制文件并放入“/opt/DevKit/workspace/xx/porting/data”目录（xx代表用户名），重新执行“重构软件包”。 说明： 可在重构报告中查看详细信息并按照提示操作。 缺少SO/静态库/二进制文件时，请自行获取对应名称的SO/静态库/二进制文件（如通过下载方式获取SO/静态库/二进制文件，请解压RPM或DEB包取出对应名称的SO/静态库/二进制文件）放入“/opt/DevKit/workspace/xx/porting/data”目录（xx代表用户名）后重新执行“重构软件包”。 |  |  |  |  |  |  |
| 依赖文件中存在对应x86架构的SO/静态库/二进制文件 | 依赖文件架构错误。 | 手动下载ARM架构的SO/静态库或二进制文件，并替换“/opt/DevKit/workspace/xx/porting/data”目录（xx代表用户名）下的同名文件，重新执行“重构软件包”。 说明： 可在重构报告中查看详细信息并按照提示操作。 替换SO/静态库/二进制文件时，请自行获取ARM架构的SO/静态库/二进制文件（如通过下载方式获取SO/静态库/二进制文件，解压RPM或DEB包取出对应名称的SO/静态库/二进制文件）替换“/opt/DevKit/workspace/xx/porting/data”目录（xx代表用户名）的同名文件后重新执行“重构软件包”。 |  |  |  |  |  |  |
| JAR文件下载失败 | 网络连接超时或磁盘空间不足。 | 检查网络配置、参考配置代理检查代理配置或检查“/opt”目录空间大小。 手动下载JAR文件并放入“/opt/DevKit/workspace/xx/porting/data”目录（xx代表用户名），重新执行“重构软件包”。 说明： 需要手动下载的JAR文件名称及下载路径可以在重构报告中查看。 |  |  |  |  |  |  |
| 分析RPM/DEB包内部SO/JAR/静态库/二进制文件失败 | 磁盘空间不足、RPM/DEB包格式错误或软件包不需要迁移。 | 检查“/opt”目录空间大小、检查RPM/DEB包内容完整、格式正确或使用鲲鹏应用迁移工具确认软件包是否需要迁移。 |  |  |  |  |  |  |
| 提取与分析control文件失败、提取与分析spec文件失败 | 磁盘空间不足或RPM/DEB包格式错误。 | 检查“/opt”目录空间大小或检查RPM/DEB包内容完整、格式正确。 |  |  |  |  |  |  |
| 重新重构失败 | 可能是由于文件替换失败（系统缺少jar命令或者JAR包内嵌JAR包）、工作空间rpmbuilder未清理或者分析RPM/DEB包出错。 | 如果系统缺少jar命令，请安装JDK工具。 说明： 不支持JAR包内嵌JAR包的软件包重构。 （针对RPM包）执行如下命令清理工作空间后重新执行“重构软件包”。 1 2 3 cd /opt/DevKit/workspace/devadmin/porting/refactoring rm \-rf rpmbuilder mkdir \-pv ./rpmbuilder/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} （针对DEB包）执行如下命令清理工作空间后重新执行“重构软件包”。 1 rm \-rf /opt/DevKit/workspace/devadmin/porting/tmp\_path | 1 2 3 | cd /opt/DevKit/workspace/devadmin/porting/refactoring rm \-rf rpmbuilder mkdir \-pv ./rpmbuilder/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} | 1 | rm \-rf /opt/DevKit/workspace/devadmin/porting/tmp\_path |  |  |
| 1 2 3 | cd /opt/DevKit/workspace/devadmin/porting/refactoring rm \-rf rpmbuilder mkdir \-pv ./rpmbuilder/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} |  |  |  |  |  |  |  |
| 1 | rm \-rf /opt/DevKit/workspace/devadmin/porting/tmp\_path |  |  |  |  |  |  |  |
| 因缺少rpmrebuild导致的软件包重构失败 | 服务器上未安装rpmrebuild包 | 安装rpmrebuild：自行下载rpmrebuild组件，并上传至服务器执行以下命令安装。 1 rpm \-ivh xxx.rpm 安装rpmbuild：执行以下命令检查yum源中的rpmbuild的RPM包并安装。 1 2 yum list \| grep rpm\-build yum install \-y rpm\-build 如果yum源中不存在rpmbuild的RPM包，请自行下载对应组件，并上传至服务器执行以下命令安装。 1 rpm \-ivh xxx.rpm | 1 | rpm \-ivh xxx.rpm | 1 2 | yum list \| grep rpm\-build yum install \-y rpm\-build | 1 | rpm \-ivh xxx.rpm |
| 1 | rpm \-ivh xxx.rpm |  |  |  |  |  |  |  |
| 1 2 | yum list \| grep rpm\-build yum install \-y rpm\-build |  |  |  |  |  |  |  |
| 1 | rpm \-ivh xxx.rpm |  |  |  |  |  |  |  |
