My c++ program was having runtime errors (crash on mutex lock). Exceptions that were not coming directly from my code but from some libraries it used. I started to track down the problem and found out that I had a library (giskard_core, but that doesn't matter) listed in CMakeLists.txt
in find_package(catkin REQUIRED COMPONENTS ... giskard_core)
which I was not using at the moment. Commenting it out fixed the crash I was investigating. Pulling it back to the find_package
list brought the crash back.
My code was really simple, literally just a main function and bare bones of a ROS application, and surely was not using the library that was causing the problems.
What is going on? Can a package bring an error by just being listed in find_package
in CMakeLists.txt
?