Boost-Libboost is needed in Centos7 (ContexBroker)

2020-02-11 09:05发布

I am trying to install ContextBroker in Centos7:

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

But I am getting the next error:

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

Up to this point I thought that the solution was clear, lets install:

sudo yum install boost boost-devel boost-doc 

But it was not functioning and Centos7 was giving me the same error.

Then I though that maybe it was because the static versión was needed as the error is related to libboost and not directly boost ( I do not know if this was a good assumption),but I tried and it was not functioning and Centos7 was giving me the same error.

The thing is that I am able to find those files, but I dont know how to give dependencies to rpm and in case is not possible I tried to install the following packages:

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

However to be able to install the following two packages, I had to install boost-devel using yum, because when I tried to install the package boost-devel.1.53.0-18.el7.x86_64.rpm I was missing a lot of dependencies.

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

(Edit. The extension .i686 is for 32 bits, so this package was not needed.)

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

The result was the same.. so I have two questions:

1.Can someone tell me the name or pass me the link of the boost rpm that I am missing and that is not allowing me to install directly boost-devel from the rpm.

2.Which one is the correct order to install all the boost rpm packages in Centos7?

Thanks!!

Edit: I found that the extension of the files that are in my system end with .so.1.53.0, and the dependencies that the rpm is asking for end with .so.5()(64bit). Can it be that the rpm is looking for a specific version of the dependencies?

2条回答
小情绪 Triste *
2楼-- · 2020-02-11 09:46

here is what I did on centos 6.5 x64

get the rpm package

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

then because of the dependencies required (listed in https://forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/Publish/Subscribe_Broker_-_Orion_Context_Broker_-_Installation_and_Administration_Guide#Requirements ) we need to install EPEL (see http://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F ) by running

yum install epel-release

then install each dependency:

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

then

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

it worked for me. Hope this help

查看更多
一夜七次
3楼-- · 2020-02-11 10:03

Finally I have been able to resolve the problem with the dependencies.

ContextBroker is depending on the old packages of boost for Centos 6, so to be able to install ContextBroker in Centos7 you have to remove the newest versions of boost from the system (to me this solution was not a problem, because in my case I am using a VM just to be able to exclusively use contextBroker but this can be a real problem with the dependencies of other packages that are using the corresponding version of boost for Centos7):

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

Later it is needed the downloading and installation of the old packages:

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

And then is possible to install ContextBroker:

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

I hope this helps to the new contextBroker's users!

查看更多
登录 后发表回答