Open koonpeng opened 3 years ago
The windows ci is using a ci build of ros2 which mistakenly exports local directories.
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;C:/ci/ws/install/include"
This causes cpp_nodes
to fail, I tried with a release build of ros2 and it works. The test still passes because it seems cpp_nodes
is not used in windows tests. Should I use the ci build and exclude cpp_nodes
from the build, or switch to a release build? The downside of the release build is that we need to update it when new ros version gets released.
I prefer we use the rolling-distribution for develop
branch, meanwhile, stable release matches its corresponding brach of rclnodejs
, e.g. foxy-fitzroy uses ROS 2 Foxy Fitzroy - Patch Release 3 for ci. Thus, we could track the latest changes and fix the problem before it's officially released on develop
branch.
But the rolling-distribution (or nightly build) is not stable although it's called stable
. I ever met similar issues before, and the problems often got fixed in the next package release. I think we could exclude cpp_nodes
because those tests that use cpp_nodes
are not running any more, or we could wait a few days until the next ROS2 package (https://ci.ros2.org/view/packaging/job/packaging_windows/lastSuccessfulBuild/artifact/ws/ros2-package-windows-AMD64.zip) is ready.
I went back a few weeks and they all have the same error https://ci.appveyor.com/project/minggangw/rclnodejs/builds/36303858
CMake Error in CMakeLists.txt:
Imported target "rclcpp::rclcpp" includes non-existent path
"C:/ci/ws/install/include"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
* The path was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and references files it does not
provide.
maybe it's a unreported bug?
made an issue https://github.com/ros2/ros2/issues/1068
I suspect it was misconfigured, let's wait for the reply from the upstream.
I notice there is a new Window ROS2 package generated (https://ci.ros2.org/view/packaging/job/packaging_windows/1960/), so the problem may have been fixed.
It looks like the issue still isn't fixed :disappointed:
I'm not sure if I'm the only one having this problem, the tests are failing for me in foxy/ubuntu-20.04. I actually saw in problem before in other projects and it is due to fastRTPS not correctly exported some cmake files. The simple workaround is to add AMENT_PREFIX_PATH to CMAKE_PREFIX_PATH.
I also try to simplify the compiling step by using colcon and sourcing the output instead of copying files around.
Edit: Actually all the previous build have been failing but it seems tests still passes