colcon build時鏈接失敗

ros2 執行colcon build時報如下錯誤:

~/workspace/dev_ws » colcon build                                                                                                                                                                john@john-pc
Starting >>> turtlesim
--- stderr: turtlesim                             
/usr/bin/ld: /usr/local/lib/libpython3.7m.a(boolobject.o): relocation R_X86_64_PC32 against symbol `_Py_FalseStruct' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [rosidl_generator_py/turtlesim/libturtlesim__python.so] Error 1
make[1]: *** [CMakeFiles/turtlesim__python.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< turtlesim	[ Exited with code 2 ]

Summary: 0 packages finished [1.36s]
  1 package failed: turtlesim
  1 package had stderr output: turtlesim

解決辦法:

重新編譯安裝python,帶上參數–enable-shared,configure參數如下:

./configure --enable-optimizations --with-ssl --enable-shared

然後需要清理當前的文件夾後重新colcon build

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章