我正在使用ROS Indigo和Arch Linux ARM,我正在尝试从AUR安装ros-indigo-qt-gui-cpp软件包。
但出现以下错误:
==> Starting build()... -- Using CATKIN_DEVEL_PREFIX: /home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/devel -- Using CMAKE_PREFIX_PATH: /opt/ros/indigo -- This workspace overlays: /opt/ros/indigo -- Found PythonInterp: /usr/bin/python2 (found version "2.7.12") -- Using PYTHON_EXECUTABLE: /usr/bin/python2 -- Using default Python package layout -- Using empy: /usr/lib/python2.7/site-packages/em.pyc -- Using CATKIN_ENABLE_TESTING: ON -- Skip enable_testing() when building binary package -- Using CATKIN_TEST_RESULTS_DIR: /home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/test_results -- Found gtest: gtests will be built -- Using Python nosetests: /usr/bin/nosetests-2.7 -- catkin 0.6.18 CMake Warning at /usr/share/cmake-3.6/Modules/FindBoost.cmake:743 (message): Imported targets not available for Boost version 106200 Call Stack (most recent call first): /usr/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES) /usr/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:5 (find_package) CMake Warning at /usr/share/cmake-3.6/Modules/FindBoost.cmake:743 (message): Imported targets not available for Boost version 106200 Call Stack (most recent call first): /usr/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES) /usr/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:5 (find_package) -- Boost version: 1.62.0 -- Found the following Boost libraries: -- filesystem -- system CMake Warning at /opt/ros/indigo/share/python_qt_binding/cmake/shiboken_helper.cmake:17 (find_package): By not providing "FindShiboken.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Shiboken", but CMake did not find one. Could not find a package configuration file provided by "Shiboken" with any of the following names: ShibokenConfig.cmake shiboken-config.cmake Add the installation prefix of "Shiboken" to CMAKE_PREFIX_PATH or set "Shiboken_DIR" to a directory containing one of the above files. If "Shiboken" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): src/qt_gui_cpp_shiboken/CMakeLists.txt:41 (include) CMake Warning at /opt/ros/indigo/share/python_qt_binding/cmake/shiboken_helper.cmake:21 (find_package): By not providing "FindPySide.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "PySide", but CMake did not find one. Could not find a package configuration file provided by "PySide" with any of the following names: PySideConfig.cmake pyside-config.cmake Add the installation prefix of "PySide" to CMAKE_PREFIX_PATH or set "PySide_DIR" to a directory containing one of the above files. If "PySide" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): src/qt_gui_cpp_shiboken/CMakeLists.txt:41 (include) CMake Warning at /opt/ros/indigo/share/python_qt_binding/cmake/shiboken_helper.cmake:34 (find_package): By not providing "FindGeneratorRunner.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "GeneratorRunner", but CMake did not find one. Could not find a package configuration file provided by "GeneratorRunner" with any of the following names: GeneratorRunnerConfig.cmake generatorrunner-config.cmake Add the installation prefix of "GeneratorRunner" to CMAKE_PREFIX_PATH or set "GeneratorRunner_DIR" to a directory containing one of the above files. If "GeneratorRunner" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): src/qt_gui_cpp_shiboken/CMakeLists.txt:41 (include) CMake Warning at /opt/ros/indigo/share/python_qt_binding/cmake/shiboken_helper.cmake:41 (message): Shiboken binding generator NOT available. Call Stack (most recent call first): src/qt_gui_cpp_shiboken/CMakeLists.txt:41 (include) -- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.12", minimum required is "2.7") -- SIP binding generator available. -- Python binding generators: sip -- Configuring done -- Generating done -- Build files have been written to: /home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build [ 7%] Building CXX object src/qt_gui_cpp/CMakeFiles/qt_gui_cpp.dir/recursive_plugin_provider.cpp.o [ 14%] Building CXX object src/qt_gui_cpp/CMakeFiles/qt_gui_cpp.dir/settings.cpp.o [ 21%] Building CXX object src/qt_gui_cpp/CMakeFiles/qt_gui_cpp.dir/__/__/include/qt_gui_cpp/moc_plugin_bridge.cxx.o [ 28%] Linking CXX shared library ../../devel/lib/libqt_gui_cpp.so [ 78%] Built target qt_gui_cpp Scanning dependencies of target libqt_gui_cpp_sip [ 85%] Running SIP generator for qt_gui_cpp_sip Python bindings... Traceback (most recent call last): File "/opt/ros/indigo/share/python_qt_binding/cmake/sip_configure.py", line 50, in config = Configuration() File "/opt/ros/indigo/share/python_qt_binding/cmake/sip_configure.py", line 19, in __init__ ['qmake', '-query'], env=env, universal_newlines=True) File "/usr/lib/python2.7/subprocess.py", line 567, in check_output process = Popen(stdout=PIPE, *popenargs, **kwargs) File "/usr/lib/python2.7/subprocess.py", line 711, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory make[2]: *** [src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_s`enter code here`ip.dir/build.make:90: sip/qt_gui_cpp_sip/Makefile] Error 1 make[1]: *** [CMakeFiles/Makefile2:375: src/qt_gui_cpp_sip/CMakeFiles/libqt_gui_cpp_sip.dir/all] Error 2 make: *** [Makefile:128: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...
任何想法?
如果我没有提供足够的信息,请告诉我,我可能会提供任何需要帮助解决的信息。
我不知道去哪里。
答案 0 :(得分:3)
就像战士在经历了艰苦而激烈的战争之后回家一样,我很高兴地说我可以解决它!
在安装软件包 ros-indigo-qt-gui-cpp 之前,您应该安装 qt5-base 。
这样,当您尝试安装它时,您可能会遇到以下问题:
Getting fatal error: QWidget: No such file or directory
#include <QWidget>
为了解决这个问题,我做了:
vim /yourpath/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/qt_gui_cpp_sip/../../include/qt_gui_cpp/plugin_context.h
然后改变:
#include <QWidget>
由:
#include <QtGui>
那么这次你可能会面临另一个问题[1]正在运行的 qmake 的版本。
which qmake
会告诉您路径中的qmake。
您必须确保使用qmake for qt4。
所以最后的改变是:
sudo mv /usr/bin/qmake /usr/bin/qmake.bk sudo ln -s /usr/bin/qmake-qt4 /usr/bin/qmake
请注意,如果您使用anaconda,命令可能会根据您的环境设置而改变,例如
(如果您愿意,请务必稍后还原这些更改。)
毕竟,一切都很好:D
他们不在这里,但感谢AUR用户:D