New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] Recent changes to homebrew cmake and python defaults break dev environment #23073
Comments
Thanks @saosebastiao, would you be able to open a pull request fixing this in |
@dagar I'd love to take a stab at it. I'll let you know up front that I don't know anything about the codebase, dev practices, MR guidelines, etc. Is there a guide for submitting a first MR to the project? Any example MRs from a project fork (assuming that's how it is done here)? Also, I don't know a lot about CMake and my own tinkering that led to this bug report leads me to believe we won't be able to do anything with python virtual environments unless we change the CMake build to get rid of the deprecated I can of course try to do that, but I might be in over my head with CMake, especially on a project that I'm unfamiliar with.
|
This issue has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: |
In order to transition to a virtualenv environment, we do need to transition to the newer cmake FindPython3 system. I have a partially working branch in progress here: This seems to work for
There is a lot of noise that happens after this error, then it reports the same thing for several other nuttx files.
|
I noticed via this issue that nuttx is an older version and is using a custom px4 build system fork to use cmake which nuttx didn't have at the time. Could an upgrade here possibly help? |
Describe the bug
Homebrew now defaults to installing Python 3.12, which breaks the PX4 MacOS dev environment.
Homebrew now follows PEP-668 regarding virtual environments. This means that it is expected to use virtual environments like
venv
orpipx
in order to manage dependencies. PX4 should adopt these standards regardless, as there are many reasons why using global or user level dependencies instead of project level dependencies is a bad idea.And to clarify, this means that the steps to manually install dependencies in the official documentation are broken, as well as the
Tools/setup/macos.sh
script.To Reproduce
using homebrew:
Expected behavior
Build should succeed
Screenshot / Media
On
python3 -m pip install --user pyserial empty toml numpy pandas jinja2 pyyaml pyros-genmsg packaging kconfiglib future
the following error message is give:Flight Log
N/A
Software Version
main
Flight controller
sitl
Vehicle type
None
How are the different components wired up (including port information)
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: