4

我正在尝试在 Centos7 中安装 ContextBroker:

sudo rpm -i contextBroker-0.14.1-1.X86_64.rpm

但我收到下一个错误:

error: Failed dependencies:

libboost_filesystem-mt.so.5()(64bit) is needed by contextBroker-0.14.1-1.x86_64

libboost_system-mt.so.5()(64bit) is needed by contextBroker-0.14.1-1.x86_64

libboost_thread.so.5()(64bit) is needed by contextBroker-0.14.1-1.x86_64

到目前为止,我认为解决方案很清楚,让我们安装:

sudo yum install boost boost-devel boost-doc 

但它不起作用,Centos7 给了我同样的错误。

然后我认为这可能是因为需要静态版本,因为错误与 libboost 相关而不是直接提升(我不知道这是否是一个好的假设),但我尝试了它并没有运行,Centos7 给了我同样的错误。

问题是我能够找到这些文件,但我不知道如何为 rpm 提供依赖项,以防万一我尝试安装以下软件包:

sudo rpm -i boost-1.53.0-18.el7.x86_64.rpm

但是为了能够安装以下两个包,我必须使用 yum 安装 boost-devel,因为当我尝试安装包 boost-devel.1.53.0-18.el7.x86_64.rpm 时,我错过了很多依赖关系。

sudo rpm -i boost-static-1.53.0-18.el7.i686.rpm 

(编辑。扩展名 .i686 是 32 位的,所以不需要这个包。)

sudo rpm -i boost-static-1.53.0-18.el7.x86_64.rpm

结果是一样的..所以我有两个问题:

1.有人可以告诉我名字或传递我缺少的 boost rpm 的链接,这不允许我直接从 rpm 安装 boost-devel。

2.在Centos7中安装所有boost rpm包的正确顺序是什么?

谢谢!!

编辑: 我发现我系统中文件的扩展名以 .so.1.53.0 结尾,而 rpm 要求的依赖项以 .so.5()(64bit) 结尾。可能是 rpm 正在寻找特定版本的依赖项吗?

4

2 回答 2

2

这是我在 centos 6.5 x64 上所做的

获取 rpm 包

 wget --no-check-certificate https://forge.fi-ware.org/frs/download.php/1502/contextBroker-0.15.0-1.x86_64.rpm

然后由于所需的依赖项(在https://forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/Publish/Subscribe_Broker_-_Orion_Context_Broker_-_Installation_and_Administration_Guide#Requirements中列出)我们需要安装 EPEL(参见http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F)通过运行

yum install epel-release

然后安装每个依赖项:

yum install boost-filesystem
yum install boost-thread
yum install libmicrohttpd
yum install logrotate

然后

rpm -i contextBroker-0.15.0-1.x86_64.rpm

它对我有用。希望这有帮助

于 2014-11-05T19:33:17.180 回答
2

最后,我已经能够解决依赖项的问题。

ContextBroker 依赖于 Centos 6 的旧的 bo​​ost 包,所以为了能够在 Centos7 中安装 ContextBroker,你必须从系统中删除最新版本的 boost(对我来说这个解决方案不是问题,因为在我的情况下,我是使用 VM 只是为了能够独占使用 contextBroker ,但这对于使用 Centos7 对应版本的 boost 的其他软件包的依赖关系可能是一个真正的问题):

sudo yum remove boost boost-devel boost-system boost-filesystem boost-thread

稍后需要下载和安装旧包:

sudo rpm -Uvh boost-thread-1.41.0-25.el6.x86_64.rpm
sudo rpm -Uvh boost-system-1.41.0-25.el6.x86_64.rpm
sudo rpm -Uvh boost-filesystem-1.41.0-25.el6.x86_64.rpm

然后可以安装 ContextBroker:

sudo rpm -i context-0.15.0-1.x86_64.rpm

我希望这对新的 contextBroker 用户有所帮助!

于 2014-11-07T05:34:54.857 回答