Comments (8)
I wonder if the full path to the platform.txt might be more useful, but I guess you don't have access to that information right there.
from arduino-builder.
I do but it would be quite a change in how error messages are reported. That one as well as others came straight from the IDE. Let's keep them this way for some time and see how much feedback comes
from arduino-builder.
Looking more closely at the check that causes this error message makes me wonder if it needs to be present at all? Why would arduino-builder enforce having a compiler.path
variable? It seems this is an implementation detail of the specific platform. If the platform does not want a compiler.path
, but wants to code the path directly int the recipes, or perhaps have c-compiler.path
and cpp-compiler.path
that should also be possible and this check can be entirely removed?
The reason the check is present, I think, is that the compiler used to define compiler.path
, but now platforms should define it themselves. Instead of checking for compiler.path explicitely, wouldn't it be more useful to check for any undefined placeholders inside recipes? That might catch even more problems, and lead to better error messages (I've seen gcc complain with "invalid mcu specified: {board.mcu}" or something similar when for some reason board.mcu is not defined).
If the check stays, I think it should allow an empty string as a valid value, which it currently does not. This is what caused the error here: I have overridden compiler.path
to the empty value, so the system-wide avr-gcc is used instead of the bundled one.
from arduino-builder.
Uhm yeah, I think it's a legacy from old IDE versions. @cmaglie what do you think? Can you get rid of that check?
from arduino-builder.
For me it can be removed.
This commit contains a bit of history:
arduino/Arduino@a89f5e6
from arduino-builder.
(edited the previous comment)
Previously the compiler.path was set by the IDE to the shipped avr-gcc or, if not found, to the system wide avr-gcc. This has been removed with the latest IDE from long time, so I guess the variable is no longer mandatory.
from arduino-builder.
Thanks @cmaglie, warning removed
from arduino-builder.
Right, so it was originally a warning and set a default compiler.path value, but it turned into an error with arduino-builder. Seems like a good thing to remove it now indeed. Also, yay for detailed commit messages ;-)
from arduino-builder.
Related Issues (20)
- When I installed these DHT.h and LiquidCrystal_I2C.h libraries and tried to install program on arduino, I got this error. HOT 3
- [WIN] Symlinks or junctions not followed in sketch directory HOT 3
- Build instructions HOT 23
- Please build MacOS binary using SDK 10.9 or newer HOT 2
- Get rid of platform.keys.rewrite.txt
- Referencing another platform's core with a different name than it's vendorID HOT 2
- "Improve precompiled libraries handling" broke "mixed code" libraries HOT 11
- Include sketch directory to include search path HOT 1
- Arduino Error : Error Compiling For Board Arduino Uno HOT 1
- Compiling code on ESP8266 D1 mini
- Template is treated as operator< HOT 2
- 8bit operations are always compiled into 16bit instructions HOT 2
- Incorrect placement of auto-generated prototypes gives misleading error messages HOT 4
- Difference between running from "arduino.exe" and command line "arduino-builder.exe" HOT 4
- arduino-builder returned 255 HOT 3
- Deprecate Arduino-builder in favor of Arduino-cli HOT 1
- avr-g++: error: device-specs/specs-attiny3226: No such file or directory HOT 2
- How to change arduino-builder to arduino-cli in arduino IDE 1.8.19 HOT 1
- Document current API behavior (endpoints) HOT 2
- Issue when compiling for Fysetc F6 v1.3. This is all it output.====> cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin. cc1.exe: error: -fno-fat-lto-objects are supported only with linker plugin. exit status 1 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from arduino-builder.