Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Unable to build OpenCV due to missing ninja

I'm trying to build OpenCV3, as part of a dependency for the diagnostics ROS Kinetic. My build steps are:

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

The last command builds several packages, but fails on OpenCV3 with the 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

What's causing this error? Why doesn't OpenCV3 include a Ninja build file? I've asked about this on the corresponding ROS answers site, but they have no idea what's causing this.