使用 colcon build --symlink-install 对ros2源码进行编译的时候出现下面错误:
--- stderr: qt_gui_cpp
sip: Usage: sip [-h] [-V] [-a file] [-b file] [-B tag] [-c dir] [-d file] [-D] [-e] [-f] [-g] [-I dir] [-j #] [-k] [-m file] [-o] [-p module] [-P] [-r] [-s suffix] [-t tag] [-w] [-x feature] [-X id:file] [-y file] [-z file] [@file] [file]
Traceback (most recent call last):
File "/home/sph/ros2_ws/install/python_qt_binding/share/python_qt_binding/cmake/sip_configure.py", line 109, in <module>
subprocess.check_call(cmd)
File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/sip', '-c', '/home/sph/ros2_ws/build/qt_gui_cpp/sip/qt_gui_cpp_sip', '-b', '/home/sph/ros2_ws/build/qt_gui_cpp/sip/qt_gui_cpp_sip/pyqtscripting.sbf', '-I', '/usr/share/sip/PyQt5', '-w', '-n', 'PyQt5.sip', '-t', 'WS_X11', '-t', 'Qt_5_12_3', 'qt_gui_cpp.sip']' returned non-zero exit status 1.
make[2]: *** [sip/qt_gui_cpp_sip/Makefile] Error 1
make[1]: *** [src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/all] Error 2
make: *** [all] Error 2
刚开始python3缺失pyqt5,就用
pip3 install pyqt5
安装了pyqt5,但是一直出现上面的错误,后来发现其实这样不对,会导致系统库链接出错,所以解决办法是:
sudo pip3 uninstall pyqt5
然后再进行编译就OK啦。