Travis-ci使用biicode超时来增强日志编译

时间:2015-02-22 10:06:09

标签: boost travis-ci boost-log biicode

我正在使用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 RAM的VM上编译它,花费的时间超过15分钟)

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

  1. > bii cpp:build - VERBOSE = 1
  2. 在CMakeList.txt中,将BII_BOOST_VERBOSE设置为ON here
  3. 按照here
  4. 的说明设置BOOST_LOG_COMPILE_FAST_ON
  5. 使用travis_wait
  6. 实际上travis_wait似乎是正确的解决方案,但当我把它放在我的.travis.yml中时这样

    script: travis_wait bii cpp:build
    

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

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

1 个答案:

答案 0 :(得分:2)

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

你可以使用travis_wait来呼叫bii cpp:configure,但我和你在一起,我需要日志反馈(没有双关语意)。但是,我也试过这个并且导致> 50分钟构建,这意味着travis中止建立在免费帐户上:(当然我的repo不会仅构建Boost.Log。

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

#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']  

我正在研究解决方案,在打印进度时启动异步构建。检查this issue。它将在本周准备就绪:)

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

script:
- bii cpp:configure -DBII_BOOST_BUILD_J=4

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