[Processing: moveit_task_constructor_core] --- stderr: moveit_task_constructor_core Missing content of submodule pybind11: Use 'git clone --recurse-submodule' in future. Checking out content automatically Submodule 'core/python/pybind11' (https://github.com/pybind/pybind11) registered for path 'pybind11' Submodule 'core/src/scope_guard' (https://github.com/ricab/scope_guard) registered for path '../src/scope_guard' Cloning into '/home/jzzz/ws_moveit/src/moveit_task_constructor/core/python/pybind11'... fatal: unable to access 'https://github.com/pybind/pybind11/': GnuTLS recv error (-110): The TLS connection was non-properly terminated. fatal: clone of 'https://github.com/pybind/pybind11' into submodule path '/home/jzzz/ws_moveit/src/moveit_task_constructor/core/python/pybind11' failed Failed to clone 'core/python/pybind11'. Retry scheduled Cloning into '/home/jzzz/ws_moveit/src/moveit_task_constructor/core/src/scope_guard'... fatal: unable to access 'https://github.com/ricab/scope_guard/': Failed to connect to github.com port 443 after 299411 ms: Connection timed out fatal: clone of 'https://github.com/ricab/scope_guard' into submodule path '/home/jzzz/ws_moveit/src/moveit_task_constructor/core/src/scope_guard' failed Failed to clone 'core/src/scope_guard'. Retry scheduled Cloning into '/home/jzzz/ws_moveit/src/moveit_task_constructor/core/python/pybind11'... fatal: unable to access 'https://github.com/pybind/pybind11/': GnuTLS recv error (-110): The TLS connection was non-properly terminated. fatal: clone of 'https://github.com/pybind/pybind11' into submodule path '/home/jzzz/ws_moveit/src/moveit_task_constructor/core/python/pybind11' failed Failed to clone 'core/python/pybind11' a second time, aborting CMake Error at python/CMakeLists.txt:24 (add_subdirectory): The source directory /home/jzzz/ws_moveit/src/moveit_task_constructor/core/python/pybind11 does not contain a CMakeLists.txt file. CMake Error at python/bindings/CMakeLists.txt:3 (pybind11_add_module): Unknown CMake command "pybind11_add_module".
问题的原因:构建系统在尝试自动下载所需的 Git 子模块 (submodules) 时失败了,因为网太差了不稳定。
办法:配置一下国内代理然后重新下这两个下载失败的包就行
打开WSL ,运行以下命令。这会告诉 Git,以后所有访问 https://github.com/
的请求,都应该自动替换为 https://ghfast.top/https://github.com/
:
git config --global url."https://ghfast.top/https://github.com/".insteadOf https://github.com/
然后进入包含子模块的主仓库目录:
cd ~/ws_moveit/src/moveit_task_constructor
git submodule update --init --recursive
应该会看到成功下载了 pybind11
和 scope_guard
回到工作空间下然后清除一下之前失败的
rm -rf build/moveit_task_constructor_core install/moveit_task_constructor_core log/moveit_task_constructor_core
然后重新colcon build就行