在Solaris上构建Boost

5

Boost能否在Solaris上完整构建?

我想知道是否有人成功地做到了这一点(特别是Proto/Spirit),然后再去购买支持合同以将Sun Studio 12.2打补丁到最新版本。我遇到了一些错误,其中一些看起来已经在补丁中得到解决,但向Oracle支付支持费用并不便宜,所以我希望在开始之前有一些希望它能够正常工作。

现在,我只是试图在Solaris上使用cpp-netlib,并使用Boost Property Tree解码通过HTTP获取的一些JSON。在Mac OS X上它运行良好 - 所以我希望我可以在Solaris上使用相同的代码。


你不能在Solaris上使用GCC吗? - Axel Gneiting
很想这样做,但我正在集成的产品意味着如果我需要与Sun工具链链接,我可以使用GCC构建所有真正的工作,暴露C接口并将其包装起来,但现在重新设计需要相当多的工作。 - chrism
3
Sun C++ 编译器一直存在问题,如有可能,请避免使用它。 - Maxim Egorushkin
我会尽可能避免。不幸的是,情况不允许,所以我要问这个问题。 - chrism
2个回答

2
如果你看一下http://www.boost.org/users/history/version_1_48_0.html,你会看到两个编译器列表。 "主要" 编译器是发布版经过测试的编译器。那里没有基于 Solaris 的编译器。
第二个列表是 trunk 经过测试的编译器列表(或多或少每天都有更新)。Sun Compiler v 5.10 在该列表中。
现在,您可以查看http://www.boost.org/development/tests/trunk/developer/summary.html,并找到该编译器的测试结果。从那里,您可以找到 Sun 编译器的列,并检查哪些测试失败(以及失败原因)。
但是,看起来几乎所有的Spirit测试都在该编译器上失败了,所以我不抱太大希望。
...稍后... 但是,由于您使用的是不同的编译器,您可能需要查看http://www.boost.org/development/running_regression_tests.html,该页面向您展示如何使用您的安装运行回归测试。然后您就可以看到 Boost 与您的编译器的兼容性如何了。

谢谢你,马歇尔 - 我希望可能有人能够施展魔法让它工作起来...但似乎并没有。 - chrism

2
我已经在Solaris上使用Apache stdcxx 4.2.1 C++库编译了boost 1.54.0。虽然涉及到一些差异和CLI配方,但已经完成了99%的构建 :) 如果我找到一个合适的地方上传差异,我会更新这个内容。
适用于Intel Solaris 10和11。
[...]
common.copy /usr/local/lib/libboost_timer.a
common.copy /usr/local/lib/libboost_wave.a
...failed updating 53 targets...
...skipped 37 targets...
...updated 10652 targets...

SPARC 10

[...]
common.copy /usr/local/lib/libboost_timer.a
common.copy /usr/local/lib/libboost_wave.a
...failed updating 49 targets...
...skipped 42 targets...
...updated 10649 targets...

这些软件包可以在我的软件包存档中找到:

http://www.ibiblio.org/pub/packages/solaris/sparc/

boost.1.54.0.SPARC.64bit.Solaris.10.pkg
boost.1.54.0.i86pc.Solaris.10.pkg
boost.1.54.0.i86pc.Solaris.11.pkg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接