链接器被 Signal 9 杀死

Linker killed with Signal 9

虽然经常(但不总是)编译 ArangoDB,但编译会因链接器进程的 KILL 而中止: https://travis-ci.org/triAGENS/ArangoDB/builds/48323023 然而,它并不总是发生。找出错误的最佳方法是什么?或任何提示实际上出了什么问题?

我为 ArangoDB 编辑了 .travis.yml,因此它现在使用 gold 而不是 ld 进行链接。

gold 使用的系统资源比 ld 少得多,因此构建目前不会在链接期间被终止。

这只是一个临时解决方案,因为 Travis 杀死构建的根本原因仍然未知。令人恼火的是,Travis 似乎无法预测地杀死构建,而且没有提供原因。我很确定我们没有击中任何 disclosed limits:

Because it is very common to see test suites or before scripts to hang up, Travis CI has hard time limits. If a script or test suite takes longer to run, the job will be forcefully terminated and you will see a message about this in your build log.

With our current timeouts, a job will be terminated if it's still running after 50 minutes (120 minutes on travis-ci.com), or if there hasn't been any log output in 10 minutes.

Killed 消息表示您的内存不足。通过 ulimit -a 检查您的限制或通过 free -m 检查可用内存,然后尝试增加您的堆栈大小,例如ulimit -s 82768 甚至更多。

有一个 Fortran 项目退出

collect2: ld terminated with signal 9

在 TravisCI 上,问题被 out-of-memory 杀死。

sudo: required 添加到 .travis.yml 帮助了我!

matrix:
    include:
        - os: linux
          sudo: required