-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Removing default toolchain paths #3476
Removing default toolchain paths #3476
Conversation
This change was spurred by a confusing error. I attempted to compile for the RZ_A1H (a Cortex-A device), and I had the standalone ARM compiler in my system path, which supports Cortex-A. However, the default path for the ARM compiler in settings.py uses a Keil installation, which only supports Cortex-M. It found my Keil installation and used that instead. This change proposes to remove this default behavior and instead requires the user to explicitly set the intended compiler, either by a settings file, mbed CLI, environment variables, or by placing the compiler in your PATH.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a helpful message printed when the tools aren't found?
@sg- Yes, after removing the compilers from my PATH and renaming my Keil installation folder, I was able to get an error from the tools:
|
@miklis is this affecting to our CI infra? |
@jupe, good catch, thanks for checking this |
retest uvisor |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These paths were old anyway
/morph test |
@mbed-bot: TEST |
[Build 1189] |
Result: SUCCESSYour command has finished executing! Here's what you wrote!
OutputAll builds and test passed! |
Description
This change was spurred by a confusing error. I attempted to compile for the RZ_A1H (a Cortex-A device), and I had the standalone ARM compiler in my system path, which supports Cortex-A. However, the default path for the ARM compiler in settings.py uses a Keil installation, which only supports Cortex-M. It found my Keil installation and used that instead, causing a compiler error. This change proposes to remove this default behavior and instead requires the user to explicitly set the intended compiler path, either by a settings file, mbed CLI, environment variables, or by placing the compiler in your PATH.
Status
READY
Migrations
YES
This will now require that a user sets the compiler paths via mbed CLI, environment variables, settings files, or by placing them in the system PATH.
I realize this could be a breaking change for some developers, so perhaps we should wait a release before doing this? We could detect that the default path in settings.py is being used and warn the users to set the compiler path explicitly. Open to suggestions here!
Todos
Notes to Maintainers
I requested a lot of reviewers on this PR since this is changing some legacy behavior that we've had for quite some time now. It'd be good to get input from everyone since this may affect many different parts of the mbed ecosystem.