我在Arch Linux ARM上使用ROS Indigo,我试图从AUR安装ros-indigo-qt-gui-cpp软件包。
但是出现以下错误:
==>开始构build()... - 使用CATKIN_DEVEL_PREFIX:/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/devel - 使用CMAKE_PREFIX_PATH:/ opt / ros / indigo - 此工作区覆盖:/ opt / ros / indigo - findPythonInterp:/ usr / bin / python2(find版本“2.7.12”) - 使用PYTHON_EXECUTABLE:/ usr / bin / python2 - 使用默认的Python包布局 - 使用empy:/usr/lib/python2.7/site-packages/em.pyc - 使用CATKIN_ENABLE_TESTING:开启 - 构build二进制包时跳过enable_testing() - 使用CATKIN_TEST_RESULTS_DIR:/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build/test_results - findgtest:gtests将被build立 - 使用Python的鼻子testing:/usr/bin/nosetests-2.7 - 柔</s> 0.6.18 CMake警告在/usr/share/cmake-3.6/Modules/FindBoost.cmake:743(消息): 导入的目标不适用于Boost版本106200 调用堆栈(最近的呼叫优先): /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警告在/usr/share/cmake-3.6/Modules/FindBoost.cmake:743(消息): 导入的目标不适用于Boost版本106200 调用堆栈(最近的呼叫优先): /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) - 升压版本:1.62.0 - find以下Boost库: - 文件系统 - 系统 /opt/ros/indigo/share/python_qt_binding/cmake/shiboken_helper.cmake:17(find_package)中的CMake警告: 通过不在CMAKE_MODULE_PATH中提供“FindShiboken.cmake”这个项目 要求CMakefind“Shiboken”提供的包configuration文件, 但CMake没有find一个。 找不到任何“Shiboken”提供的软件包configuration文件 以下名称: ShibokenConfig.cmake shiboken-config.cmake 将“Shiboken”的安装前缀添加到CMAKE_PREFIX_PATH或set “Shiboken_DIR”到包含上述文件之一的目录。 如果 “Shiboken”提供了一个单独的开发包或SDK,确保它有 已安装。 调用堆栈(最近的呼叫优先): src / qt_gui_cpp_shiboken / CMakeLists.txt:41(include) CMake警告在/opt/ros/indigo/share/python_qt_binding/cmake/shiboken_helper.cmake:21(find_package): 通过不在CMAKE_MODULE_PATH中提供“FindPySide.cmake”这个项目 要求CMakefind由“PySide”提供的包configuration文件,但是 CMake没有find一个。 无法find“PySide”提供的软件包configuration文件 以下名称: PySideConfig.cmake pyside-config.cmake 将“PySide”的安装前缀添加到CMAKE_PREFIX_PATH或设置 “PySide_DIR”到包含上述文件之一的目录。 如果“PySide” 提供了一个单独的开发包或者SDK,确定它已经 安装。 调用堆栈(最近的呼叫优先): src / qt_gui_cpp_shiboken / CMakeLists.txt:41(include) CMake警告/opt/ros/indigo/share/python_qt_binding/cmake/shiboken_helper.cmake:34(find_package): 通过不在CMAKE_MODULE_PATH中提供“FindGeneratorRunner.cmake” 项目已经要求CMakefind一个包提供的包configuration文件 “GeneratorRunner”,但CMake没有find一个。 找不到“GeneratorRunner”提供的软件包configuration文件 与以下任何名称: GeneratorRunnerConfig.cmake generatorrunner-config.cmake 将“GeneratorRunner”的安装前缀添加到CMAKE_PREFIX_PATH或 将“GeneratorRunner_DIR”设置为包含上述文件之一的目录。 如果“GeneratorRunner”提供了一个单独的开发包或SDK, 确定它已经安装。 调用堆栈(最近的呼叫优先): src / qt_gui_cpp_shiboken / CMakeLists.txt:41(include) CMake警告在/opt/ros/indigo/share/python_qt_binding/cmake/shiboken_helper.cmake:41(消息): Shiboken绑定发生器不可用。 调用堆栈(最近的呼叫优先): src / qt_gui_cpp_shiboken / CMakeLists.txt:41(include) - findPythonInterp:/ usr / bin / python2(find合适的版本“2.7.12”,最低要求是“2.7”) - 可用的SIP绑定生成器。 - Python绑定生成器:sip - configuration完成 - 生成完成 - 生成文件已写入:/home/hiago/packages/qt_gui_core-release-release-indigo-qt_gui_cpp-0.2.30-0/src/build [7%]构buildCXX对象src / qt_gui_cpp / CMakeFiles / qt_gui_cpp.dir / recursive_plugin_provider.cpp.o [14%]构buildCXX对象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%]链接CXX共享库../../devel/lib/libqt_gui_cpp.so [78%]构build目标qt_gui_cpp 扫描目标libqt_gui_cpp_sip的依赖关系 [85%]为qt_gui_cpp_sip运行SIP生成器Python绑定... 回溯(最近一次通话最后): 文件“/opt/ros/indigo/share/python_qt_binding/cmake/sip_configure.py”,第50行,在 config =configuration() 在__init__文件“/opt/ros/indigo/share/python_qt_binding/cmake/sip_configure.py”,第19行 ['qmake','-query'],env = env,universal_newlines = True) 文件“/usr/lib/python2.7/subprocess.py”,第567行,在check_output process = Popen(stdout = PIPE,* popenargs,** kwargs) 在__init__文件“/usr/lib/python2.7/subprocess.py”,第711行 错误,错误) 在_execute_child文件“/usr/lib/python2.7/subprocess.py”,1343行 提高child_exception OSError:[Errno 2]没有这样的文件或目录 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]错误1 make [1]:*** [CMakeFiles / Makefile2:375:src / qt_gui_cpp_sip / CMakeFiles / libqt_gui_cpp_sip.dir / all]错误2 make:*** [Makefile:128:all]错误2 ==>错误:build()发生故障。 中止...
任何意识?
如果我没有提供足够的信息,请告诉我可以提供任何需要帮助解决的信息。
我不知道该去哪里。
经历了一场激烈的战争,一名战士回家后,我很高兴地说,我可以解决这个问题!
在安装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/../../包括/ qt_gui_cpp / plugin_context.h
然后改变:
#include <QWidget>
通过:
#include <QtGui>
那么你可能会面临另一个问题[1],这次是关于正在运行的qmake的版本。
which qmake
会告诉你哪个qmake在你的路径中。
你必须确保你正在使用qmake qt4。
所以最后的变化是:
sudo mv / usr / bin / qmake /usr/bin/qmake.bk sudo ln -s / usr / bin / qmake-qt4 / usr / bin / qmake
请注意,例如,如果您使用anaconda,命令可能会根据您的环境设置而更改
(如果需要,请确保稍后恢复这些更改。)
一切都很好,毕竟:D
他们不在这里,但也感谢AUR用户:D
[1] 错误:没有匹配函数调用'sipqt_gui_cpp_RosPluginlibPluginProvider_ForPlugins :: connectNotify(const char *&)'