ros2 / geometry2

A set of ROS packages for keeping track of coordinate transforms.
BSD 3-Clause "New" or "Revised" License
110 stars 193 forks source link

When finding Python3, use python3 executable as a hint #650

Closed cottsay closed 4 months ago

cottsay commented 4 months ago

The existing find_package(Python3) call will locate the Python interpreter with the latest version number. However, this may not be the system's default Python interpreter for which our dependencies have been installed.

If Python3_EXECUTABLE is not explicitly specified, use find_program to locate the Python interpreter behind the "python3" command, which is likely the system's default and the one that we want.

If no executable can be found by the name "python3", the find_program call will silently fail and the existing behavior will manifest.

clalancette commented 4 months ago
  • Windows-debug Build Status <- did I trigger this wrong? Is it even expected to work?

So at the very least, the "packaging" variant of Windows Debug needs to work so we can release the tarball. That job failed because of building a test, which the "packaging" variant may skip.

Regardless, we can probably fix that particular problem by splitting that test into smaller chunks, or add the /bigobj flag when building rosbag2_transport on Windows Debug.

clalancette commented 4 months ago

By the way, I'm 100% behind doing this, after we fix the above problem.

One thing I will say that we are in a somewhat strange procedural place. That is, usually we target fixes at rolling, and then backport from there. In this particular case, I don't think we should do that because I have a more comprehensive fix for this exact problem in the works for rolling. I think that is the better long-term fix, but it will not be possible to backport to humble because it raises the minimum CMake version to 3.20. I haven't yet opened the PRs for this (it will take a number of them), but I am planning on doing that in the next few days.