我正在使用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分钟)
我知道这种情况正在发生,因为没有足够的详细信息,所以我尝试了以下标志:
实际上travis_wait似乎是正确的解决方案,但当我把它放在我的.travis.yml中时这样
script: travis_wait bii cpp:build
它实际上并不像平常那样输出日志,而是在20分钟后超时。我不认为实际的建筑物正在发生
处理此问题的正确方法是什么?
答案 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内存不足。