-
Notifications
You must be signed in to change notification settings - Fork 132
ARDUINO_BOARD symbol build error #493
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
As an independent open source project we value your contribution, but we ask for support, either by helping us out coding (yeah, we do understand it does require time) or a Patreon contribution (starting from as low as 1$ a month): this allows us to support people who support us back! |
Thanks, after a fairly lengthy investigation I've come to the conclusion that we're all good here and the ArduinoGnuMakefileGenerator code is doing the right thing in this plug-in. Keep up the good work! |
Cool you contributed by confirming this is not an issue :-) Thanks. Good work. |
Yes I've updated esp8266/Arduino#2211 with the details. IMO the problem I saw is just caused by missing escaped quotes in the recipe config. The plug-in simply passes this along through the generated make file and onto the gcc pre-processor which then generates invalid code in the object file resulting in the build failure. If the ESP8266 arduino core guys agree with this analysis, I'll create the pull request over there. Thanks |
I'm closing this one and I'll follow up in esp8266/Arduino#2211 |
I'm reopening as this seems to be related to the different command line environment between the ArduinoIDE and the arduino eclipse plugin called sloeber |
for your information this is very simular to #263 |
Thanks I'll take a fork and see what I can do about fixing this. If it's similar to #263 then hopefully it's just a config update rather than a code change..which suits me because I'm no java developer :) |
As you see in #263 it is a windows issue. As you are on Linux I'm a bit confused (see ESP issue for more detail). |
I've responded to your last comment in esp8266/Arduino#2211 I'm afraid I can't test anything on windows here but my testing suggests this does seem fine in the Arduino IDE (I've only tested Arduino IDE v1.6.8 on linux) and the problem is localized to this plugin. Incidentally I've got a fix that seems to be working fine here and it is a config change in this project but we do need to somehow test on windows |
As workaround you have 2 options:
|
As a fix following regular expressions are needed for windows one that replaces As regular expressions are not my thing help would be appreciated. |
I was using this change to the post_processing_platform_default.txt file as the fix with a locally rebuilt plug-in: Your workaround works well for the moment until we workout the regex. I'll take a look at that - I assume you'll be wanting java flavoured regex? |
Here's the regex expression that matches: Here's the regex expression that matches: Tested here: With this sample text: |
It is the same thing. Just another place. There are lots of users for whom it is better to stick to the gui. I tried the regexes you proposed but unfortunately I have some problems. |
How about this then: Compile / execute / see it working here: I'm no java developer and this might not suit your code style but it does seem to work. |
I've found it :-) |
Well done, not a clue if that works in java. Good luck |
Why did I close this item? In linux this will always work on the command line In Windows this will always work on the command line With all provided info I can handle that |
Did you notice the single quotes around the whole statement? |
just tested in windows |
Sorry my mistake you're right, I missed the outer single quotes. It does work when they're present and the inner double quotes aren't escaped. It also works when the outer single quotes aren't present and the inner double quotes are escaped. |
great. |
Another problem popped up :-( |
Testing via eclipse->project properties->arduino->compile options->append to c and c++.. When I input:
The final case results in broken pre-processor generated code in the target compiled .o object file that looks like this:
|
Now I've done this I'm not convinced this is the best way to test. |
This round of testing with the following board name defined in boards.txt and 3 separate build attempts with the following setup in platform.txt:
Spaces within a defined string literal really are very problematic. |
I made a mistake. This format is the good one for Linux |
I just checked on my system. It seems to be fixed on windows. |
It looks close but unfortunately not quite right. Here's the command line for the compile of one file from the console output along with the warning that follows:
If we look closely, it looks like the warning is coming from no space being present between: The end result is a successful build but no #define for the ARDUINO_BOARD symbol. |
I forgot the space :-( I guess that the compiler ignores the define after the missing space. |
No worries I'll go again when the next build is ready |
Setup
Test case 1
Test case 2
For test case 2 item (4), further actual real use of the ARDUINO_BOARD symbol is required to determine if the symbol is or is not truncated. |
I think it is a presentation issue only. I say so because nor codan nor the compiler complain about the code below when compiling the due (where USB_PRODUCT="Arduino due"):
|
I'm sure you're probably right but at the same time I'm sure you wouldn't want me to sign off on this on the basis of an assumption because that's not how software testing works. I see your code and it tells me nothing. I have similar code that also compiles successfully and that also doesn't 100% confirm that the symbol is fully populated and not truncated in some way. I'll actually test it in real world actual use and report back soon. |
Confirmed as fixed when tested on linux mint 17.3 in nightly 3.0.0.201607050208 |
@jantje can we close this? |
@rlogiacco As it is not yet in the stable release I prefer keeping this one open so people can see what is "wrong" in the stable release. |
Encountered this error when upgrading to 2.3 for the new ESP8266HTTPUpdateServer library. Thanks for sorting this out! Updating to the new nightly build quickly resolved this problem. |
thanks for looking for an existing issue and confirming the solution :-) |
I'm getting this issue again in Sloeber 4.2.0.201804050109 and ESP 2.4.0 C:\Users...\sloeber\arduinoPlugin\packages\esp8266\hardware\esp8266\2.4.0\libraries\ESP8266mDNS\ESP8266mDNS.cpp: In member function 'void MDNSResponder::enableArduino(uint16_t, bool)': |
Please do not open old closed issues. |
Hi hopefully I've found the right place to raise this :)
I originally created an issue over on the esp8266 arduino project about a build problem related to one of the ep8266 libraries. That issue is: esp8266/Arduino#2211
My Eclipse installation details are:
Arduino Eclipse Extensions 3.0.0.201603312133
Eclipse Platform 4.6.0.v20160606-1342 (Neon - recent upgrade on 22/06)
I suppose this could be a Neon / plugin compatibility problem - do you think it's worth trying to install the nightly which looks like it now has support for Neon?
Thanks
Joe
The text was updated successfully, but these errors were encountered: