Closed rhaschke closed 4 years ago
Thanks for the patch.
Cherry-picked to crystal-devel
: 7b140ec3fe785240598f9e7451fac2b007a281e3.
This leads to a cmake error on my machine:
CMake Error:
Running
'/Users/tobias/opt/anaconda3/conda-bld/ros_1590965520994/_build_env/bin/ninja' '-C' '/Users/tobias/opt/anaconda3/conda-bld/ros_1590965520994/work/build' '-t' 'cleandead'
failed with:
ninja: error: build.ninja:621: bad $-escape (literal $ must be written as $$)
I am not sure why the $
is escaped with a \?
According to the GNU documentation, the command in the makefile should read $(MAKE)
, which it exactly does:
/vol/sandbox/rviz/devel/.private/rviz/lib/python2.7/dist-packages/rviz/librviz_sip.so: sip/rviz_sip/Makefile
cd /vol/sandbox/rviz/build/rviz/sip/rviz_sip && $(MAKE)
In cmake the dollar needs to be escaped with a backslash in order to be not interpreted by cmake. I'm tempted to blame ninja. Please file a bug report over there.
You are right, I would not have expected that: https://github.com/ninja-build/ninja/pull/1140
Or maybe that issue is more related: https://gitlab.kitware.com/cmake/cmake/-/issues/18062
According to the gnu make documentation, a subprocess make should use the
$(MAKE)
variable or+make
to tell the parentmake
process that the child is actually amake
process as well.This is required to suppress the warning:
warning: jobserver unavailable: using -j1. Add
+' to parent make rule.`