2014-08-29 100 views
3

我想要一臺機器運行Ubuntu 14.04服務器上安裝Boost庫1.49.0。 boost的編譯失敗,出現以下錯誤。加速編譯Ubuntu的服務器上失敗14.04

...failed gcc.compile.c++ bin.v2/libs/locale/build/gcc-4.8/release/link-static/threading-multi/icu/formatter.o... 
...skipped <pbin.v2/libs/locale/build/gcc-4.8/release/link-static/threading-multi>libboost_locale.a(clean) for lack of <pbin.v2/libs/locale/build/gcc-4.8/release/link-static/threading-multi>icu/formatter.o... 
...skipped <pbin.v2/libs/locale/build/gcc-4.8/release/link-static/threading-multi>libboost_locale.a for lack of <pbin.v2/libs/locale/build/gcc-4.8/release/link-static/threading-multi>icu/formatter.o... 
...skipped <p/usr/local/lib>libboost_locale.a for lack of <pbin.v2/libs/locale/build/gcc-4.8/release/link-static/threading-multi>libboost_locale.a... 
...failed updating 2 targets... 
...skipped 6 targets... 

我該如何解決這個問題?

+2

是否安裝了ICU? – user657267 2014-08-29 01:55:19

+0

或者,嘗試用'--without-icu'到自舉(當然,前提是你並不需要在加速區域設置的高級功能) – sehe 2014-08-29 15:55:23

+0

@ user657267你的意思是安裝libicu-dev的?它已經安裝。 – shaikh 2014-09-01 02:02:34

回答

4

像往常一樣,我衷心地推薦作弊得到任何庫的依賴關係:

sudo apt-get build-dep libboost-all-dev 

注意爲清楚起見:這只是確保所有的依賴,這將是必要建立升壓的發行版的打包版本是當下。因此,它只是手動安裝所有這些依賴項的快捷方式。

特別是,將解決想着ICU依賴,這樣你就可以編譯成功,你希望編譯爲準(修改?)升壓的版本。

+0

我試過了,但沒有奏效。雖然它安裝了一些依賴項,但我仍然得到相同的錯誤。 – shaikh 2014-09-01 02:01:19

+0

您是否再次運行./bootstrap.sh? – sehe 2014-09-01 05:03:17

+0

是的,我再次運行./bootstrap.sh,但我仍然得到相同的錯誤:( – shaikh 2014-09-01 07:34:48

0

如果你真的需要或想要的升壓型放開1.49,你可以find it here via the packages.ubuntu.com搜索功能。

但是因爲你已經在Ubuntu 14.04,爲什麼不使用升壓1.54?使用該軟件包將導致自動升級,因此在下一個Ubuntu版本中,您將獲得Boost 1.55等等。

+0

嗯。我不知道這件事。有沒有辦法讓這個值得信賴呢?或者這只是「運氣」,這個特定的軟件包版本可以用於流行嗎? (嗯,14.04是值得信賴的;你是否建議手動下載debs?) – sehe 2014-08-29 16:57:31

+1

你幾乎總是可以使用舊版本。是的,他們往往仍然在各自發布名稱下的鏡像中,例如參見[這裏](http://packages.ubuntu.com/search?keywords=libboost-all-dev&searchon=names&suite=all§ion=all)所有已知的'libboost-all-dev'指向所有方向。我們在Debian中做得更好,這要歸功於奇妙的http://snapshot.debian.org,它保留了所有軟件包的所有發佈版本。 – 2014-08-29 17:01:21

+0

不錯。我將在下一次給Debian另一個去。我喜歡這種便利 – sehe 2014-08-29 17:02:13