Closed xfiderek closed 5 months ago
@ivanperez-keera, tagging you for visibility.
I have created 3 PRs: Problem A: https://github.com/space-ros/docker/pull/139 Problem B: https://github.com/ament/ament_cobra/pull/16 Problem C: https://github.com/ament/ament_ikos/pull/4
This is extremely useful! Thank you @xfiderek for doing this.
(I'll review in more detail later but I wanted to send you that quick note :smiley: )
After trying to run IKOS scan as per this tutorial, I've encountered 3 problems.
Problem A: colcon build command throws basic errors
Following the readme, I try to execute
First impediment is that
ikos-scan-cc
executable is missing, which can easily be fixed. Apart from that, we also need to set IKOS_SCAN_NOTIFIER_FILES env variable in the container. Otherwise it throws:Problem B: building
cobra_vendor
package fails whenikos-scan-cc
is used as a compilerThe exact error thrown by
cobra_vendor
package is:c.ar is a library that is build earlier and which should be linked at this step.
Changing the end of compile command from
c.ar -pthread
to-Wl,c.ar -pthread
fixes the issue, so i presume there is something wrong with howikos-scan-cc
forwards arguments to clang. The easiest will be to fix that in ament’scobra_vendor
package. Two other alternatives are to either fix it inikos
side or directly incobra
.Problem C:
ament_ikos
timeouts for large packages (e.g. rclcpp)The reason is that
ament_ikos
uses default timeout time of 60 seconds. We should modify this value in the repo.After addressing these 3 issues, I was able to run ikos scan as expected in spaceros workspace. I will create 3 PRs, first for this repo (problem A), second for
ament_cobra
repo (problem B), and third forament_ikos
repo (problem C)