Skip to content

OSX 10.10.1 using Arduino 1.6.6: build failure message is wrong? #47

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

Closed
ffissore opened this issue Nov 6, 2015 · 4 comments
Closed
Assignees
Milestone

Comments

@ffissore
Copy link
Contributor

ffissore commented Nov 6, 2015

From @i-make-robots on November 4, 2015 20:8

Makelangelo-firmware/firmware_ams/firmware_ams.ino: In function 'void adjustSpoolDiameter(float)': firmware_ams:226: error: 'void adjustSpoolDiameter(float)' was declared 'extern' and later 'static' [-fpermissive] static void adjustSpoolDiameter(float diameter1) { ^ firmware_ams:226: error: previous declaration of 'void adjustSpoolDiameter(float)' [-fpermissive] static void adjustSpoolDiameter(float diameter1) { ^ exit status 1 'void adjustSpoolDiameter(float)' was declared 'extern' and later 'static' [-fpermissive]

The keyword 'extern' does not appear in my code anywhere. Instead I removed the keyword 'static' and Arduino was able to finish compiling. This code was compiling fine on 1.6.4.

Copied from original issue: arduino/Arduino#4079

@ffissore
Copy link
Contributor Author

ffissore commented Nov 6, 2015

I've just cloned your repo https://github.com/MarginallyClever/Makelangelo-firmware and this other repo https://github.com/i-make-robots/Stewart-Platform-Crane. Then moved Stewart-Platform-Crane/libraries/AFMotorDrawbot/ into my sketchbook libraries folder. Selected Arduino/Genuino Uno and the sketch successfully compiled.
Can you add more details?

@ffissore
Copy link
Contributor Author

ffissore commented Nov 6, 2015

From @i-make-robots on November 5, 2015 18:2

Makelangelo firmware was already fixed when I reported the error. Add the keyword "static" to any method in the firmware and try to recompile.

On Nov 4, 2015, at 11:42 PM, Federico Fissore [email protected] wrote:

I've just cloned your repo https://github.com/MarginallyClever/Makelangelo-firmware and this other repo https://github.com/i-make-robots/Stewart-Platform-Crane. Then moved Stewart-Platform-Crane/libraries/AFMotorDrawbot/ into my sketchbook libraries folder. Selected Arduino/Genuino Uno and the sketch successfully compiled.
Can you add more details?


Reply to this email directly or view it on GitHub.

@ffissore
Copy link
Contributor Author

ffissore commented Nov 6, 2015

Ok, arduino-builder omits static when generating prototypes. Moving the issue. Anyway, please note that your sketch won't compile anymore with latest hourly because you put libraries folders inside sketch folder. Released 1.6.6 was supposed to do recursive compilation (see arduino/Arduino#1004 (comment) and subsequent comments). Hourly (and 1.6.7) will attempt to compile those libraries code and will fail when compiling examples, because the library is not where it's supposed to be and the IDE can't find it

@matthijskooijman
Copy link
Collaborator

@ffissore, I previously reported this issue as well at #30 (comment) and fixed it in the functionpointer branch. My fix was to not generate a prototype (by being more strict in the "prototype matches code" check), but I think both fixes can actually co-exist: if your code generates a correct prototype, the functionpointer branch code will accept the prototype and leave it in place. The testcases do need some manual merging in the functionpointer branch, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants