德雷克安装冻结

时间:2020-04-15 01:18:18

标签: drake

我正在尝试安装drake的python绑定。在--j之后,它冻结。我相信我已经按照之前的步骤正确完成了所有操作。有人可以帮忙吗?我正在使用python 3.6.9在Ubuntu 18.04上运行。

先谢谢您。看起来像这样。

Frozen Terminal

3 个答案:

答案 0 :(得分:1)

使用make(无-j标志)或make -j1,因为bazel(在构建期间内部调用)处理构建(和测试)的并行性并将默认情况下将作业数设置为核心数(在您的情况下为8)。

要调整并行度以将作业数减少到少于内核数,请在存储库的根目录(与user.bazelrc文件相同的级别)中创建一个名为WORKSPACE的文件,其中内容

test --jobs=N

比您拥有的内核数少N

另请参阅https://docs.bazel.build/versions/master/guide.html#bazelrc

答案 1 :(得分:0)

从屏幕截图来看,看起来drake构建系统没有做任何错误。但是make -j可能正在尝试并行执行太多操作。尝试从-j4开始,如果仍然冻结,则转到2,依此类推。

答案 2 :(得分:0)

可能是内存不足。

一种骇人听闻的解决方案是通过在CMakeLists.txt之后添加--jobs N(其中N是您同时允许的作业数量)来更改${BAZEL_TARGETS}文件以设置bazel使用的最大作业数量。像这样

ExternalProject_Add(drake_cxx_python
  SOURCE_DIR "${PROJECT_SOURCE_DIR}"
  CONFIGURE_COMMAND :
  BUILD_COMMAND
    ${BAZEL_ENV}
    "${Bazel_EXECUTABLE}"
    ${BAZEL_STARTUP_ARGS}
    build
    ${BAZEL_ARGS}
    ${BAZEL_TARGETS}
    --jobs 1
  BUILD_IN_SOURCE ON
  BUILD_ALWAYS ON
  INSTALL_COMMAND
    ${BAZEL_ENV}
    "${Bazel_EXECUTABLE}"
    ${BAZEL_STARTUP_ARGS}
    run
    ${BAZEL_ARGS}
    ${BAZEL_TARGETS}
    --
    ${BAZEL_TARGETS_ARGS}
  USES_TERMINAL_BUILD ON
  USES_TERMINAL_INSTALL ON
)