在构建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
这个错误是由于在执行命令时,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工具,并确保在执行任何其他操作之前压缩文件。如果这样做仍然无法解决问题,则需要查看更多构建日志以查找问题的根本原因。