-
Notifications
You must be signed in to change notification settings - Fork 34
Arduino-CI is failing to find include file #262
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
Comments
Adding the MultiMap.h file in the same folder as the example results in success. |
It seems to be caused by the incorrect filename case in the
If I correct that to the right case;
the error goes away. I don't know enough about arduino_ci to understand why that error would would cause the CI run to fail in this way, but it's wrong regardless, so certainly worth fixing. |
This seems like a good candate to test as-is with |
If I'm reading that output properly, this error is coming from |
OK, I see it's this bug: arduino/arduino-cli#960 Even though the |
OK, I'm not completely clear on what's happening here nor what the proper behavior should be. Is the Arduino compiler and/or |
If you're interested, see arduino/arduino-cli#960 and arduino/arduino-cli#987 for all the details. Otherwise, just know that this is caused by a combination of a bug in the MultiMap library and Arduino CLI. There is nothing wrong with arduino_ci other than that it's using a version of Arduino CLI that's 3 months out of date. So if you like, you can just say that it's RobTilaart's responsibility to fix the bug in MultiMap, or you can take this as the sign that you need to update to using Arduino CLI 0.14.0.
No. |
I did read that, but it didn't really talk about case sensitivity. Let me ask a different way: are these the proper fixes, given a specific
architectures=*
- includes=multimap.h
+ includes=MultiMap.h
depends= vs
architectures=*
- includes=multimap.h
depends= |
I don't meant to belabor this point, it's just that I've added code that tries to scan for incorrect data in the properties file: d8a0a0b#diff-c8e39f6b37c608a31b7357c90dcd7b605242d3735e6bc87797cd32c90cd4f6c7R368 and from this conversation I can't tell if I've done it correctly. |
I'm on it |
The build was successful now. |
That should be available in |
Not for this repo - I'll merge the succeeded arduino-ci build first and do a test afterwards |
Latest caught it
The cross shows that it actually doesn't exist Better than the current master as it points to the right spot. |
Thanks! The JSON dump isn't necessarily helpful in all cases, it's just part of the failure reporter in the test runner script. I will make it more explicit that it's conveying the last interaction with the backend. |
That's the proper fix regardless of Arduino CLI version. The problem is simply that the filename in the library.properties The intended usage of the library.properties field is to customize which #include <multimap.h> which would have resulted in a compilation error since the filename in the library is MultiMap.h. That's the bug in the MultiMap library. But if the Arduino IDE's Sketch > Include library menu was not used then the incorrect |
...wow. if that's the case, the docs convey almost none of that.
Is there a way to submit improvements to that text? I'd suggest
Throughout this entire conversation I had been convinced that That brings me to another question: is it allowed to include a file that doesn't end in |
Sure! The entire source of the documentation content of https://arduino.github.io/arduino-cli/dev/ is hosted in the
Yes. The header file extensions are merely a convention. There is no special treatment from the compiler based on which is used. The standard library actually doesn't use any extension, so you'll see things like this: #include <functional> However, the Arduino build system does require specific header file extensions in a couple of situations:
|
Sorry... to clarify, is the IDE going to read the property |
Yes. The Arduino IDE doesn't do any validation/restrictions on the contents of the |
Opened arduino/arduino-cli#1124 Looks like I'll have to scale back the logic to just warnings about the |
Thanks! I'll do a review as soon as you run the formatting task and sign the CLA. |
https://github.com/RobTillaart/MultiMap/runs/1637056493?check_suite_focus=true
MultiMap.h is a source file that contains one templated function, small enough to post here
The unit test is a simple test and that runs successful.
However compiling the examples , all complain that they cannot find the #include MultiMap.h
local compilation is no problem. So somehow the library is not findable.
Error message
The text was updated successfully, but these errors were encountered: