-
-
Notifications
You must be signed in to change notification settings - Fork 114
Build path inside sketch folder breaks #89
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
I've changed the title of your issue, since I think the problem is triggered by setting the build path inside the sketch folder. I agree that this setup should be supported, I use it with a Makefile as well. I guess there's two parts of this problem: That all files and directories inside the sketch are copied into the build folder (including the build folder itself), and that sketches are now recursively compiled (which is also the cause of #65). I suspect it would be good to fix both of these parts, even though either one would already prevent this issue. |
i help maintain arduino-mk and we've been putting the equivalent to build-path inside the sketch folder for years without trouble - but we don't support recursively compiling sketches in subdirectories, which arduino-builder didn't either until 1.6.7, so i suspect that is the problem. you can work around it by calling a |
I had some trouble building using arduino-builder 1.6.8. Turns out that i am not allowed to build inside the scetch folder. This is unhandy for ci services. |
I've discussed this issue with @cmaglie yesterday, and we agreed the best course would be to disable recursive compilation for sketches again. It seemed like a good idea, but it has side effects like these. Since recursive compilation in a sketch can be useful, especially for more complex sketches, we're considering to allow a |
@matthijskooijman did the revert get into 1.6.9 ? seems there's a similar/related issue #139 edit: tested and seems not |
@sej7278, Nope, not yet. I've been working on an implementation as part of some other improvements, but ran into some things that needed refactoring and cleanup beforehand, so it's not finished yet. We considered just reverting recursive compilation for 1.6.9, but then decided against it - we want to remove recursive compilation for the root folder in the same release where we introduce recursive compilation for the |
Building sketch files that can't be viewed or edited in the IDE window is a terrible recipe for user confusion & frustration. |
it does seem a niche request, most people are just using a single .ino file not a full c++ setup |
@PaulStoffregen, good point, so some changes will be needed on the IDE side of things too. |
See #89 Signed-off-by: Cristian Maglie <[email protected]>
Something in 1.6.7 is breaking continuous integration, as i have to delete the build-path directory every time i re-run arduino-builder, otherwise it seems to try to link to the temp files in build-path.
Seems like recursion gone mad as it creates subdirectories of the new build inside the old build or something:
it then exits with "multiple definition of setup" errors such as:
the ide seems to work ok oddly enough and outputs "Using previously compiled file: /tmp/build...." rather than trying to reproduce the whole thing again in a subdirectory (unless it finds the build-path is in the same directory as the sketch, in which case it breaks).
it worked fine in arduino-builder 1.0.5 bundled with ide 1.6.6
doesn't require any special sketch or board to reproduce, just that build-path is in the same directory as the sketch i guess, which seems like an ok requirement to me - its nice to be able to commit builds to git, rather than stashing them in /tmp or deleting them all the time.
full build output
The text was updated successfully, but these errors were encountered: