2014-11-04 71 views
2

我想在Centos7安裝ContextBroker:升壓Libboost需要在Centos7(ContexBroker)

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給了我同樣的錯誤。

的事情是,我能找到這些文件,但我不知道怎麼給依賴於轉,如果沒有可能,我試圖安裝以下軟件包:

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 

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

結果是相同..所以我有兩個問題(編輯擴展.i686爲32位,所以並不需要這個包。):

1.可以讓別人告訴我名字或傳遞我缺少的boost rpm鏈接,這不允許我直接從rpm安裝boost-devel。

2.哪一個是在Centos7中安裝所有boost rpm包的正確順序?

謝謝!

編輯: 我發現,在我的系統中的文件的擴展名與.so.1.53.0,而轉速是要求結束與.so.5()(64位的依賴)。它可能是rpm正在尋找特定版本的依賴關係?

回答

2

最後,我已經能夠解決與依賴關係的問題。

ContextBroker取決於CentOS 6的舊包升級,因此爲了能夠在Centos7中安裝ContextBroker,必須從系統中刪除最新版本的boost(對我來說,這個解決方案不是問題,因爲在我的情況下,我使用的是虛擬機只是爲了能夠只使用contextBroker但是這可能是一個真正的問題),其他包的依賴性正在使用升壓爲Centos7相應的版本:

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的用戶!

+0

我可以在哪裏獲得這些rpm?我試過在rpm.pbone.net上,但是到他們的ftp文件的鏈接已經死了。 – lilezek 2017-02-14 16:00:05

+0

在這裏你可以得到上下文代理http://repositories.lab.fiware.org/repo/rpm/6/x86_64/,在這裏你可以找到其他的http://rhnproxy1.uvm.edu/pub/redhat/rhel6 -x86_64 /安裝/封裝/ – chuseuiti 2017-02-16 12:04:35

1

這是我在centos 6上所做的。5 64

運行

yum install epel-release 

得到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 boost-filesystem 
yum install boost-thread 
yum install libmicrohttpd 
yum install logrotate 

然後

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

它爲我工作。 希望這個幫助

+0

感謝您的回覆,但它不起作用。我已經有了所有這些軟件包。但爲了給它另一個機會,我又卸載並安裝了這些軟件包......但結果是一樣的。 – chuseuiti 2014-11-06 01:53:04

+0

本主題討論Centos 7.我將它用作OP,但這不能解決依賴關係。 – lilezek 2017-02-14 16:01:37