ros2 source install macos 10.15.1: qt_gui_cpp fails
I am building ROS2 from source on macOS 10.15.1 Catalina. I've followed the instructions here about dependencies, disabled SIP, ignored the ROS1<->2 bridge, and ignoring additional DDS vendors.
I run the following:
mkdir -p ~/ros2_foxy/src
cd ~/ros2_foxy
wget https://raw.githubusercontent.com/ros2/ros2/531a84a621771a6f4b947d1acad65eb9132f38de/ros2.repos
vcs import src < ros2.repos
and then colcon build --symlink-install
. The package qt_gui_cpp
fails (see log below).
I am confused by the introduced in macOS 10.15
error, which led me to update from 10.14 Mojave to 10.15 Catalina in the first place. It seems like it may have something to do with how xcodebuild
is handling deps?
$ xcodebuild -version
Xcode 11.2.1
Build version 11B500
$ colcon build --symlink-install --packages-select qt_gui_cpp
Starting >>> qt_gui_cpp
--- stderr: qt_gui_cpp
In file included from ros_pluginlib_plugin_provider_for_plugin_providers.sip:9:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/src/ros-visualization/qt_gui_core/qt_gui_cpp/src/qt_gui_cpp_sip/../../include/qt_gui_cpp/ros_pluginlib_plugin_provider_for_plugin_providers.h:37:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/src/ros-visualization/qt_gui_core/qt_gui_cpp/src/qt_gui_cpp_sip/../../include/qt_gui_cpp/ros_pluginlib_plugin_provider.h:46:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/install/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/candice/Documents/parkerdev/ros2_ws/install/pluginlib/include/pluginlib/./class_loader_imp.hpp:545:30: error: 'exists' is unavailable: introduced in macOS 10.15
if (pluginlib::impl::fs::exists(*it)) {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:1617:39: note: 'exists' has been explicitly marked unavailable here
inline _LIBCPP_INLINE_VISIBILITY bool exists(const path& __p) {
^
In file included from ros_pluginlib_plugin_provider_for_plugin_providers.sip:9:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/src/ros-visualization/qt_gui_core/qt_gui_cpp/src/qt_gui_cpp_sip/../../include/qt_gui_cpp/ros_pluginlib_plugin_provider_for_plugin_providers.h:37:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/src/ros-visualization/qt_gui_core/qt_gui_cpp/src/qt_gui_cpp_sip/../../include/qt_gui_cpp/ros_pluginlib_plugin_provider.h:46:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/install/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/candice/Documents/parkerdev/ros2_ws/install/pluginlib/include/pluginlib/./class_loader_imp.hpp:545:37: error: 'path' is unavailable: introduced in macOS 10.15
if (pluginlib::impl::fs::exists(*it)) {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/filesystem:773:3: note: 'path' has been explicitly marked unavailable here
path(const _Source& __src, format = format::auto_format) {
^
/////// more of the same //////
In file included from recursive_plugin_provider.sip:8:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/src/ros-visualization/qt_gui_core/qt_gui_cpp/src/qt_gui_cpp_sip/../../include/qt_gui_cpp/recursive_plugin_provider.h:37:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/src/ros-visualization/qt_gui_core/qt_gui_cpp/src/qt_gui_cpp_sip/../../include/qt_gui_cpp/ros_pluginlib_plugin_provider_for_plugin_providers.h:37:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/src/ros-visualization/qt_gui_core/qt_gui_cpp/src/qt_gui_cpp_sip/../../include/qt_gui_cpp/ros_pluginlib_plugin_provider.h:46:
In file included from /Users/candice/Documents/parkerdev/ros2_ws/install/pluginlib/include/pluginlib/./class_loader.hpp:370:
/Users/candice/Documents/parkerdev/ros2_ws/install/pluginlib/include/pluginlib/./class_loader_imp.hpp:628:49: error: 'path<char [12],="" void="">' is unavailable: introduced in macOS 10.15
std::string package_file_path = (parent / "package.xml").string();
^
/Applications/Xcode.app/Contents/Developer ...
I have a similar problem when I was building ros2 from the source. It's a different package called "pluginlib". Did you happen to solve the issue?