Robotics StackExchange | Archived questions

catkin_make_isolated: No rule to make target 'install'. Stop.

ROS Melodic + Ubuntu 18.04

I'm trying to build a workspace with both standard cmake and catkin packages using catkin_make_isolated. The catkin package builds successfully but the non-catkin package does not. It looks like catkin_make_isolated is calling make install even though I did not ask for an install. I don't have an install target for the non-catkin package.

The non-catkin package does have a package.xml with

<export>
    <build_type>cmake</build_type>
</export>

Here's the relevant portion of the output.

==> Processing plain cmake package: 'smallproject'
==> Creating build directory: 'build_isolated/smallproject/devel'
==> Building with env: '/home/myuser/smallproject/devel_isolated/example_pkg/env.sh'
==> cmake /home/myuser/smallproject/src/smallproject/smallproject -DCMAKE_INSTALL_PREFIX=/home/myuser/smallproject/devel_isolated/smallproject -G Unix Makefiles in '/home/myuser/smallproject/build_isolated/smallproject/devel'
-- The CXX compiler identification is GNU 7.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: checking conan executable in path
-- Conan: Found program /home/myuser/.local/bin/conan
-- Conan: Version found Conan version 1.13.1

-- Conan: Adding bincrafters remote repositoy (https://api.bintray.com/conan/bincrafters/public-conan)
-- Conan: Automatic detection of conan settings from cmake
-- Conan: Settings= -s;build_type=Release;-s;compiler=gcc;-s;compiler.version=7;-s;compiler.libcxx=libstdc++11
-- Conan executing: conan install /home/myuser/smallproject/src/smallproject/smallproject/conanfile.txt -s build_type=Release -s compiler=gcc -s compiler.version=7 -s compiler.libcxx=libstdc++11 -g=cmake --build=missing
-- Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=7
os=Linux
os_build=Linux
[options]
[build_requires]
[env]

conanfile.txt: Installing package
Requirements
    eigen/3.3.7@conan/stable from 'conan-center' - Cache
Packages
    eigen/3.3.7@conan/stable:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache

eigen/3.3.7@conan/stable: Already installed!
conanfile.txt: Generator cmake_find_package created Findeigen.cmake
conanfile.txt: Generator cmake_paths created conan_paths.cmake
conanfile.txt: Generator cmake created conanbuildinfo.cmake
conanfile.txt: Generator txt created conanbuildinfo.txt
conanfile.txt: Generated conaninfo.txt
conanfile.txt: Generated graphinfo

-- Conan: Loading conanbuildinfo.cmake
-- Current conanbuildinfo.cmake directory: /home/myuser/smallproject/build_isolated/smallproject/devel
-- Conan: Compiler GCC>=5, checking major version 7
-- Conan: Checking correct version: 7
-- Conan: Using cmake targets configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan: Using autogenerated Findeigen.cmake
-- Found eigen: 3.3.7 (found version "3.3.7") 
-- 
-- SmallProject
-- Project Dir: /home/myuser/smallproject/src/smallproject/smallproject
-- Binary Dir:  /home/myuser/smallproject/build_isolated/smallproject/devel
-- Build Type:  Release
-- Testing:     ON
-- Libraries:   example_lib
-- CCache:      /usr/bin/ccache
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/myuser/smallproject/build_isolated/smallproject/devel
==> make -j4 -l4 in '/home/myuser/smallproject/build_isolated/smallproject/devel'
Scanning dependencies of target example_lib
[ 20%] Building CXX object lib/example_lib/CMakeFiles/example_lib.dir/src/example_lib.cpp.o
[ 40%] Linking CXX static library ../libexample_lib.a
[ 40%] Built target example_lib
Scanning dependencies of target test_example_lib
[ 60%] Building CXX object test/example_lib/CMakeFiles/test_example_lib.dir/__/test_main.cpp.o
[ 80%] Building CXX object test/example_lib/CMakeFiles/test_example_lib.dir/test_example_lib.cpp.o
[100%] Linking CXX executable ../../bin/test_example_lib
[100%] Built target test_example_lib
==> make install in '/home/myuser/smallproject/build_isolated/smallproject/devel'
make: *** No rule to make target 'install'.  Stop.
<== Failed to process package 'smallproject': 
  Command '['/home/myuser/smallproject/devel_isolated/example_pkg/env.sh', 'make', 'install']' returned non-zero exit status 2

Reproduce this error by running:
==> cd /home/myuser/smallproject/build_isolated/smallproject && /home/myuser/smallproject/devel_isolated/example_pkg/env.sh make install

Command failed, exiting.

A similar thing happens if I try using catkin build from catkin_tools.

Any ideas?

Thanks!

Asked by thekamz on 2019-03-21 17:28:56 UTC

Comments

Can you configure/compile the project smallproject (not using catkin) and try to install it (make install). If you get the same error this means that you have to fix the smallproject install targets, the problem is probably not ROS related.

Asked by VictorLamoine on 2019-03-22 06:15:44 UTC

Answers