1

我正在学习使用 boost log 并且我正在使用 centOs7 环境。

我在 CentOS7 上安装了 boost-devel 包,并yum从 CentOS7 Base Repo 下载了它。安装后,我检查并发现 boost 日志标题和 .so 丢失。在网上探索时发现了 CentOS 特别兴趣小组的 Software Collections Repo 并在 mariadb rpm 中找到了 boost 日志:
1. rh-mariadb102-boost-log.x86_64
2. rh-mariadb101-boost-log.x86_64

以上两个都给出了 boost 日志,所以它是 Boost 1.58 源的依赖项。但是基本的 boost-devel 包是基于 Boost 1.53 源代码的。

由于版本不匹配,它可能会导致现有项目中出现很多错误,我不能这样做。

请有任何想法/建议。

或者完全从 mariadb rpm 使用 boost 库是否安全?

4

1 回答 1

1

经过大量分析,我找到了解决方案:

CentOs7 base/updates repo 不包含最新的 boost 库 rpm(不知道原因)。他们被困在 boost 1.53 版本中,并且 boost 日志从 1.54 版本开始成为 boost 框架的一部分。mariadb 和 mongodb 等其他软件包可能也有类似的问题,比如我自己,他们制作了自己的 boost 库 rpm,并将它们作为软件包的一部分。

为了解决我获取最新版本的 boost 库的问题,我们必须将 fedora 基础 repo 添加到我们的 centos repos 并获取最新的 boost 库,或者将 epel repo 添加到 cent os repost 并获取最新的 boost 库。

当我通过添加 Fedora 基础 repo 来获得最新的 boost rpms 时,它失败并显示操作系统上的 perl 版本的其他依赖项存在冲突并且是旧的。所以,剩下的唯一选择是从 epel repo 获取它,它运行良好。以下是添加 epel repo 并获取最新的 boost 库的步骤:

  1. sudo yum install epel-release
  2. 百胜搜索 boost169-devel.x86_64
  3. 百胜安装 boost169-devel.x86_64

第二步验证信息。

参考:在centos上安装epel repo:https ://www.cyberciti.biz/faq/installing-rhel-epel-repo-on-centos-redhat-7-x/

于 2019-06-12T02:21:03.960 回答