大象不会跳 2021-07-17 13:56 采纳率: 0%
浏览 56

rpmbuild时报 the input file ".so" has no sections

在构建rpm包时报这个错,为什么报这个错,以及如何解决
执行的命令 rpmbuild -bb a.SPEC
/usr/bin/strip: error: the input file '/root/rpmbuild/BUILDROOT/analyze_tools-1.0-1.el7.x86_64/opt/analyze_server/analyze_tools/lib/libHIK_CNN_V3.7.so' has no sections

  • 写回答

1条回答 默认 最新

  • weixin_52523720 2023-03-19 14:46
    关注

    这个错误是由于在执行命令时,rpm构建工具无法在文件中找到可用的节(section),导致strip工具无法进行符号剥离。rpmbuild -bb a.SPEC/root/rpmbuild/BUILDROOT/analyze_tools-1.0-1.el7.x86_64/opt/analyze_server/analyze_tools/lib/libHIK_CNN_V3.7.so

    解决方法取决于你构建rpm的源代码。一般来说,这个问题可能是由于在构建rpm时,可能需要使用-r参数来防止strip工具从二进制文件中剥离所有符号,或者需要在.spec文件中设置,以确保在执行strip之前进行压缩。%define __os_install_post /usr/lib/rpm/brp-compress

    可以尝试在.spec文件中添加以下行:
    %define __os_install_post /usr/lib/rpm/brp-compress
    %global __strip /bin/true
    这将禁用strip工具,并确保在执行任何其他操作之前压缩文件。如果这样做仍然无法解决问题,则需要查看更多构建日志以查找问题的根本原因。

    评论

报告相同问题?

问题事件

  • 修改了问题 7月17日
  • 创建了问题 7月17日

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同