ros-visualization / python_qt_binding

http://wiki.ros.org/python_qt_binding
BSD 3-Clause "New" or "Revised" License
34 stars 54 forks source link

Use magic $(MAKE) variable to suppress build warning #91

Closed rhaschke closed 4 years ago

rhaschke commented 4 years ago

According to the gnu make documentation, a subprocess make should use the $(MAKE) variable or +make to tell the parent make process that the child is actually a make process as well.

This is required to suppress the warning: warning: jobserver unavailable: using -j1. Add+' to parent make rule.`

dirk-thomas commented 4 years ago

Thanks for the patch.

dirk-thomas commented 4 years ago

Cherry-picked to crystal-devel: 7b140ec3fe785240598f9e7451fac2b007a281e3.

Tobias-Fischer commented 4 years ago

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 \?

rhaschke commented 4 years ago

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.

Tobias-Fischer commented 4 years ago

You are right, I would not have expected that: https://github.com/ninja-build/ninja/pull/1140

Tobias-Fischer commented 4 years ago

Or maybe that issue is more related: https://gitlab.kitware.com/cmake/cmake/-/issues/18062