在CentOS6编译FC32 perl-Test-Perl-Critic-Progressive RPM包报错求助
解决CentOS6构建perl-Test-Perl-Critic-Progressive RPM包的路径错误问题
最近我在CentOS 6系统上尝试构建FC32版本的perl-Test-Perl-Critic-Progressive包,过程中踩了个RPM构建的坑,这里把问题和解决过程整理出来:
问题重现
- 先通过
yum安装了依赖Test::Perl::Critic,并且排除了两个不存在的依赖项 - 执行构建命令:
立刻弹出了两个错误:rpmbuild -ba perl-Test-Perl-Critic-Progressive.specFile must begin with "/": Artistic
File must begin with "/": LICENSE
问题根源
查了下原因才明白,CentOS 6自带的RPM版本是4.8,这个旧版本对%license宏的支持有限——FC32的.spec文件里用相对路径指定许可证文件,但CentOS 6的RPM要求必须用完整的绝对路径,否则就会触发“文件必须以/开头”的格式错误。
临时解决办法
我直接把.spec文件%files段里的%license语句注释掉了,重新执行构建命令就成功了:
# 注释掉原有的%license行 # %license Artistic LICENSE
内容的提问来源于stack exchange,提问作者David.Hodgkinson
相关产品推荐
相关产品推荐

