2

我正在使用 travis-ci 和 biicode 来构建依赖于 boost 日志的项目。但是提升日志时间超过 10 分钟,所以我收到以下消息:

No output has been received in the last 10 minutes, this potentially indicates a
stalled build or something wrong with the build itself.
The build has been terminated

构建工作正常,只是 boost 日志在资源有限的情况下编译真的很长(我试图在具有 1 个 CPU 和 2GB 内存的 VM 上编译它,几乎花费了 15 多分钟)

我知道这种情况正在发生,因为没有足够的详细信息,所以我尝试了以下标志:

  1. >bii cpp:build -- 详细=1
  2. 在 CMakeList.txt 中,将 BII_BOOST_VERBOSE ON 设置为此处提及的
  3. 按照此处的说明设置 BOOST_LOG_COMPILE_FAST_ON
  4. 使用travis_wait

实际上 travis_wait 似乎是正确的解决方案,但是当我像这样把它放在我的 .travis.yml 中时

script: travis_wait bii cpp:build

它实际上并不像通常那样输出日志,只是在 20 分钟后超时。我不认为实际的建筑正在发生

处理这个问题的正确方法是什么?

4

1 回答 1

2

这是一个已知问题,Boost.Log 需要很长时间才能编译。

您可以使用travis_waitto call bii cpp:configure,但我与您同在,我需要日志反馈(没有双关语)。但是,我也尝试过,并导致构建 >50 分钟,这意味着 travis 中止在免费帐户上构建 :( 当然,我的 repo 不仅仅构建 Boost.Log。

就像一个注释,这里是来自repo的settings.py文件的一部分:boost-biicode

#Boost.Log takes so much time to compile, leads to timeouts on Travis CI
#It was tested on Windows and linux, works 'ok' (Be careful with linking settings)
if args.ci: del packages['examples/boost-log']  

我目前正在研究一个解决方案,在打印进度的同时启动异步构建。检查这个问题。这周就准备好了:)

为了加快构建速度,请尝试使用BII_BOOST_BUILD_J变量来设置构建 Boost 组件所需的线程数。这是一个例子:

script:
- bii cpp:configure -DBII_BOOST_BUILD_J=4

小心,更多的线程意味着一次编译需要更多的 RAM。确保不要让 travis 作业 VM 内存不足。

于 2015-02-22T13:37:43.267 回答