【问题标题】:Getting error while building rpm - File not found by glob:构建 rpm 时出错 - glob 找不到文件:
【发布时间】:2014-06-04 06:14:27
【问题描述】:

我正在 RHEL-6/64 位服务器上构建 rpm。

    # rpmbuild -bb extras/rpm/neatx.spec

    RPM build errors:
        File not found by glob: /root/rpmbuild/BUILDROOT/neatx-0.1-1.el6.x86_64/usr/lib/python2.6/site-packages/neatx/*

我确实在/root/rpmbuild/BUILDROOT/neatx-0.1-1.el6.x86_64/usr/lib/python2.7/site-packages 目录下看到了相同的文件。

    # ls -l /root/rpmbuild/BUILDROOT/neatx-0.1-1.el6.x86_64/usr/lib/    
    drwxr-xr-x 3 root bin 4096 Apr 19 14:45 python2.7

    # ls -l  /root/rpmbuild/BUILDROOT/neatx-0.1-1.el6.x86_64/usr/lib/python2.7/site-packages
    drwxr-xr-x 3 root bin 4096 Apr 19 14:45 neatx

这些是neatx.spec 文件中与 python 相关的条目。

    # grep -i python   extras/rpm/neatx.spec
    %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
    
    BuildRequires: python-devel
    
    BuildRequires: python-docutils
    
    Requires: python >= 2.4
    
    Requires: python-simplejson
    
    %python_sitelib/%{name}/*

感谢您提供解决此问题的帮助/建议。

提前致谢。 -Shashi Divekar

【问题讨论】:

  • 您的机器上似乎同时拥有 python 2.6 和 python 2.7。不知何故,构建系统看到2.7 之一,但spec 文件声称2.6。我不知道如何解决这个问题,抱歉。
  • 亚伦,谢谢。是的,我有 python 2.6 和 python 2.7。一个在 /usr/local/bin 下,另一个在 /usr/bin 下。默认 PATH 使用 python 2.7。我更改了 PATH 并使其首先看到 python 2.6。完成后,“rpmbuild -bb extras/rpm/neatx.spec”工作正常。想知道如何使用 python 2.7 使 rpmbuild 工作。再次感谢!
  • 您必须将您的 2.7 副本打包为一个特殊的 RPM,然后再要求它。使用非系统 python 并非易事,不适合胆小的人......

标签: python linux rpmbuild rpm-spec


【解决方案1】:

命令rpmbuild 产生错误,因为您需要在.spec 文件中提供已安装文件列表

%files
%defattr(-,root,root,-)
%python_sitelib/%{name}/*

并且路径%python_sitelib被解析为

/usr/lib/python2.6/site-packages

但是在.spec%install 部分中,文件已被放置到另一个目录中,即:

/usr/lib/python2.7/site-packages

您应该在 %install 部分中使用与 %files 部分中相同的宏 %python_sitelib

【讨论】:

    猜你喜欢
    • 2021-06-16
    • 1970-01-01
    • 2016-05-26
    • 2022-01-06
    • 1970-01-01
    • 2011-02-06
    • 2018-11-08
    • 2012-11-15
    • 2021-08-22
    相关资源
    最近更新 更多