I'm trying to install the diagnostics module from source into my existing Kinetic source installation.
To do this, I'm running:
cd /home/pi/ros_catkin_ws;
rosinstall_generator diagnostics --rosdistro kinetic --deps | wstool merge -t src -
wstool update -t src -j2 --delete-changed-uris
rosdep install --from-paths src --ignore-src --rosdistro kinetic -y -r --os=debian:jessie
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/kinetic -j1
It's failing when trying to install the dependency Opencv3, with the error:
-- Build files have been written to: /home/pi/ros_catkin_ws/build_isolated/opencv3/install
==> ninja -j1 in '/home/pi/ros_catkin_ws/build_isolated/opencv3/install'
/opt/ros/kinetic/env.sh: 16: exec: ninja: not found
<== Failed to process package 'opencv3':
Command '['/opt/ros/kinetic/env.sh', 'ninja', '-j1']' returned non-zero exit status 127
Reproduce this error by running:
==> cd /home/pi/ros_catkin_ws/build_isolated/opencv3 && /opt/ros/kinetic/env.sh ninja -j1
Command failed, exiting.
What "ninja" program is it referring to, and why wasn't this auto-installed by rosdep? There appears to be both an apt package and pip package called "ninja", which do very different things, so it's unclear which one it's expecting.
Edit: I'm assuming it's referring to the [ninja build](https://ninja-build.org/) system? I tried installing the `ninja-build` package, and re-running the build process, but that reports a different but similar ninja error:
==> Processing plain cmake package: 'opencv3'
==> Building with env: '/opt/ros/kinetic/env.sh'
Makefile exists, skipping explicit cmake invocation...
==> make cmake_check_build_system in '/home/pi/ros_catkin_ws/build_isolated/opencv3/install'
==> ninja -j1 in '/home/pi/ros_catkin_ws/build_isolated/opencv3/install'
ninja: error: loading 'build.ninja': No such file or directory
<== Failed to process package 'opencv3':
Command '['/opt/ros/kinetic/env.sh', 'ninja', '-j1']' returned non-zero exit status 1
Reproduce this error by running:
==> cd /home/pi/ros_catkin_ws/build_isolated/opencv3 && /opt/ros/kinetic/env.sh ninja -j1
How do I fix this?
↧