2014-08-29 101 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

相关问题