Closed nkalupahana closed 3 years ago
Is the Linux build an issue, or is this good to go? If the log4cxx backend really is never used, I can also just remove it, that's arguably easier :)
Those Linux tests flake out every once in a while (see https://ci.ros2.org/view/nightly/job/nightly_linux_release/1919/ for a recent example). It's highly doubtful it is the result of this PR. I'm going to go ahead and merge this, thanks for the contribution!
The newest version of
log4cxx
on macOS is now built with C++17 on homebrew (the expected way to install the package, based on the ROS2 installation guide). C++17 adds support forshared_mutex
, solog4cxx
defaults to usingshared_mutex
instd
instead ofboost
. C++14, however, doesn't haveshared_mutex
, so buildingrcl_logging_log4cxx
on macOS with the latest packages now fails because it uses C++14. The easiest way to fix this is to switch this package to build on C++17, which is what I've done here.If you all have any other solutions to this issue feel free to propose them, but this is the simplest one I could come up with, and is imperative for all macOS ROS2 users building from source.