You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在CentOS6编译FC32 perl-Test-Perl-Critic-Progressive RPM包报错求助

解决CentOS6构建perl-Test-Perl-Critic-Progressive RPM包的路径错误问题

最近我在CentOS 6系统上尝试构建FC32版本的perl-Test-Perl-Critic-Progressive包,过程中踩了个RPM构建的坑,这里把问题和解决过程整理出来:

问题重现

  1. 先通过yum安装了依赖Test::Perl::Critic,并且排除了两个不存在的依赖项
  2. 执行构建命令:
    rpmbuild -ba perl-Test-Perl-Critic-Progressive.spec
    
    立刻弹出了两个错误:

    File 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 15:42:28