Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

centos - Boost-Libboost is needed in Centos7 (ContexBroker)

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...