如何从这个 python 构建脚本输出中找出相应的 rpm 包名称?

如何从这个 python 构建脚本输出中找出相应的 rpm 包名称?

我正在尝试在 Redhat 5 Linux 机器中编译 python 2.6.8。

在编译结束时,我收到了这些信息;

Failed to find the necessary bits to build these modules:
_bsddb             _curses            _curses_panel
_hashlib           _sqlite3           _ssl
_tkinter           bsddb185           bz2
dbm                dl                 gdbm
imageop            readline           sunaudiodev

根据上面的名称,我使用yum search并找到了一些 rpm 包来满足依赖关系

ncurses

ncurses-5.5-24.20060715.x86_64 ncurses-devel-5.5-24.20060715.i386

数据库管理系统 gdbm-1.8.0-26.2.1.x86_64

阅读行 readline-5.1-3.el5.x86_64

b2 bzip2-1.0.3-4.el5_2.x86_64 bzip2-devel-1.0.3-4.el5_2.x86_64

然而我不能和其余的人没有运气。

是否有任何技术可以发现依赖关系?是否有任何可用的 Web 资源可以查找 rpm 包?

答案1

  1. 使用deplist命令列出包依赖项:

yum deplist <package>

2. 或者使用包repoquery中的工具yum-utils

repoquery --requires <package>

答案2

RPM查找是寻找 RPM 的最佳选择。请确保您获取版本-devel以及主包,因为编译器将查找这些包中的头文件和/或库。它们恰好有 Python 2.6.8 的 RPMi586x86_64平台,最初为 OpenSUSE 构建,但可能对您有用。

就 Python 而言,除非你特别需要 2.6,否则我会高度建议使用最新的、完全修复了错误且功能齐全的版本。2.7.5是维护 2.x 系列的当前版本,并且3.3.2是 Python 3 的最新版本。要查找构建失败的模块的信息,请查看目录Python-2.7.5/Modules(或您最终构建的任何版本)并查找.c与模块名称相关的文件。例如,在我的Python-3.3.2/Modules目录中,_tkinter.c顶部显示“仅支持 Tcl/Tk 8.3.1 及更高版本”,因此现在我知道要搜索哪些软件包名称和版本。

祝你好运!

相关内容