【问题标题】:Build issues on Centos6在 Centos6 上构建问题
【发布时间】:2013-09-03 05:24:45
【问题描述】:

我必须将名为Rivermuse 的软件套件从 CentOS5 迁移到 CentOS6。自述文件建议以下步骤:

目录设置:

  1. mkdir GNUbuild rpmbuild 存档
  2. rpmdev-setuptree

构建:

  1. autoreconf -vfi
  2. ./配置
  3. 制作 dist-rpm
  4. 创建仓库

在构建过程的第 3 步出现以下错误:

Processing files: angara-perl-Omosd-4.2.2-9.el6.i386
error: File not found: /home/cas/sandbox/rpmbuild/BUILDROOT/angara-4.2.2-9.el6.i386/usr/src
error: File not found: /home/cas/sandbox/rpmbuild/BUILDROOT/angara-4.2.2-9.el6.i386/usr/lib/debug
error: File not found: /home/cas/sandbox/rpmbuild/BUILDROOT/angara-4.2.2-9.el6.i386/usr/share/man/man3/Omosd.3pm.gz

BUILDROOT 目录不会在 CentOS5 的构建过程中生成或使用。我们遇到的在线资源(例如 Fedora RPM 指南)对于我们的具体案例并不是很有用。

任何建议将不胜感激。

谢谢

【问题讨论】:

  • 投反对票的人能否评论一下为什么这个问题被投反对票?当然,我不可能是唯一一个在 CentOS6 上构建我可以在 CentOS5 上完美构建的软件包的人吗?

标签: linux build centos6 centos5


【解决方案1】:

我最终通过查看 .spec 文件发现了这一点。

在 angara.spec 文件中有一个 if 语句来评估操作系统是 Fedora 还是 Redhat。我修改了这个 if 语句以始终运行 fedora 部分,因为 fedora 是 redhat 的上游对应物,并且更新版本的 redhat/centos 将包含最初仅在 fedora 中可用的内容,并且首先需要 if 语句。我还必须注释掉以下内容:

  1. %排除 /usr/src
  2. %排除 /usr/lib/debug

我必须在上述行的下方添加以下内容:

  1. /usr/local/share/perl5/Omosd.pm.conf
  2. /usr/local/lib64/perl5/auto/Omosd/.packlist
  3. /usr/local/share/perl5/Omosd.pm.in

我猜这个信息只适用于 Rivermuse 用户,希望有人觉得这个有用..

【讨论】:

    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 2014-11-12
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多