"No executable found" for Python script
I have tested the following in two scenarios as explained below. Both scenarios utilize fresh installs of ROS2 Foxy, and have been tested on multiple machines.
Scenario 1:
- Fresh Ubuntu 20.04 System for reference
- Install ROS2 Foxy.
- Reboot system.
- source ROS2 in a terminal
- Create package in a new workspace (ros2 pkg create hello_world --build-type ament_python --node-name tester)
- (colcon build) in root of workspace Result: package builds successfully, can use "ros2 run hello_world tester" to run executable.
Scenario 2:
- Fresh Ubuntu 20.04 System for reference
- Install ROS2 Foxy.
- Reboot system.
Upgrade packages (Following packages were upgraded: )
source ROS2 in a terminal
- Create package in a new workspace (ros2 pkg create general_world --build-type ament_python --node-name tester
- (colcon build) in root of workspace Result: package builds successfully, cannot use "ros2 run general_world tester" to run executable: "No executable found" error appears.
The discussion at this link was helpful in finding the executable from scenario 2 in install/<pkg>/bin instead of install/<pkg>/lib. I can therefore run the executable as "tester" instead in Scenario 2. However, since the setup.cfg remains the same in both scenarios, i am not sure what causes it ignore it (??) in the second scenario.
Other searches led me to this discussion that conveys the reason for install into /lib rather than /bin.
I am certain that I haven't changed any other configuration between the scenarios and that it only seems to occur when upgrading. However, this has been the case since Friday last week, and I haven't seen any questions or issues in this regard yet.
Could someone suggest some other way I could try testing what is wrong with my setup?
I will try rolling back some of the packages meanwhile.
Thanks!
UPDATE: Amongst the listed upgradable packages, upgrading python3-colcon-core from 0.8.3-1 to 0.9.0-1 recreates scenario 2 for me (Upgraded all others manually first, works like scenario 1, upgraded python3-colcon-core, works like scenario 2). Am I missing some dependencies?
Please see colcon/colcon-core#518.
I believe that's the same issue reported.