【发布时间】:2014-11-10 20:33:12
【问题描述】:
我在一个由 10 多名开发人员组成的团队中工作,我们将 RHEL 6.4 用于我们的开发机器和服务器(部署我们的软件的地方)。
RHEL 6.4 附带 Boost 1.41,但我需要至少 1.47 中的修复。我想升级到最新版本(目前是 1.56)。
这不像下载源代码和构建/安装那么容易,因为:
- 我希望我们团队中的每个人(包括未来的团队成员)都能轻松访问新的 Boost 版本。要求每个人都构建/安装很麻烦,并且可能存在不一致。
- 我们的软件部署为 RPM,安装在数百台服务器上(这些服务器归其他团队所有,不受我们的控制)。这些也运行 RHEL 6.4。我们的软件(可能)需要在所有这些机器上运行时链接到新的 Boost 共享库。
为了让事情变得更丑陋,RedHat 似乎有自己的专有方式将 Boost 软件/库捆绑/打包到 RPM 中。它们不只有一个 RPM,而是一系列较小的 RPM:
$ yum list installed|grep boost
boost.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-date-time.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-devel.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-filesystem.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-graph.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-iostreams.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-program-options.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-python.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-regex.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-serialization.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-signals.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-system.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-test.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-thread.x86_64 1.41.0-11.el6_1.2 @Workstation
boost-wave.x86_64 1.41.0-11.el6_1.2 @Workstation
我一直在谷歌上搜索,但找不到简单的解决方案。在 RPM 方面,我还是个新手。
在我们的情况下,如何将 Boost 1.56 构建/部署为 RPM?
【问题讨论】: