-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Improving experience for those building/packaging on other systems (incl. FreeBSD) #5142
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
Is creating a tech support nightmare reason enough? |
Perhaps it is reason enough, but it seemed worth mentioning. I personally don't really care for the idea of rebuilding the avr-gcc toolset every time I upgrade the IDE, particularly on an ARM device. I'm also of the 'willing to accept the risk' group that will bite the bullet and downgrade if I really run into issues. |
The various linux distro packages have historically taken this approach, and historically it's been a terrible mess. The Arduino world is filled with code written by novices, which sometimes has unexpected dependencies on particular toolchain versions. You really should force yourself to always use the exact same version of the toolchain. Others before you have made the mistake of allowing the incompatible toolchain versions. Please don't repeat history. It's a terrible pain for everyone, especially those of us who answer end user questions. It also tends to give Linux (or BSD) a bad reputation as an unreliable system, especially when forum threads that are easily found by google when people search for the errors they see tend to fill up with the "solution" of the exact same thing working when tried on Mac or Windows. |
Fair point. =) |
@facchinm and others: As far as package_index.json is concerned, how would this effectively be handled? It occurs to me that there's really not such a thing as a "systems" entry without a "url" specified - is there something we can do at your level to specify that there's compatibility for 'other systems' without providing download information? |
@kevans91 after that you can provide binaries for freebsd too. |
Hi @cmaglie, thanks for that. =) As for building tools- I've got the following PRs to get building scripted successfully for my platform:
All of this being tested bringing up a new build of arduino/Arduino, and working successfully. As for providing binaries- this is still something that I am thinking on. I don't think the current model of providing binaries for the different supported architectures is necessarily sustainable (especially with potential incompatibilities in different major versions of the OS), but I can't necessarily come up with a better idea. In fact, the only other idea I've come up with thus far is to simply require the end-user to build everything on, say, FreeBSD. On this platform, it may not necessarily be a big deal- many of us are already used to having to build everything from scratch (well, ports), and the latest versions of the toolchain and other friends that I mentioned above will already be built at install-time. It's mainly going to need to build things at runtime when it's trying to satisfy a different version dependency or when it's a utility (BOSSA, for instance) that's not necessarily included in the stock IDE. |
I think I'll close this. Given that managing this on other systems are a little more challenging to deal with, I suspect my best route at this point is effectively disabling the boards manager and only offering the base AVR boards and possibly the SAM + SAMD boards -- which is effectively what we have now, with 1.0.6. If I come up with a better idea for managing binary updates to not-officially-supported systems, I'll likely work something up (that doesn't require your intervention) and submit this as a PR rather than trying something like this issue again. Thank you for your time. |
Currently, getting 1.6.9 IDE up on other systems is a fun little pain. The following hoops exist (so far), with a mild plan for fixing:
I'm still playing around with it to see what other problems exist. At this point, I've successfully built the dependencies/IDE (from Ant's perspective, a linux build) and got 1.6.9 up on my FreeBSD laptop. I'm still working through some kinks involving arduino-builder and getting a barebones sketch to compile through the whole process.
Thoughts? Is this worth putting the effort into?
Related:
PR #5138 - stops the IDE from launching successfully upon first build. Presumably due to other issues, but this being a complete show-stopper is rather inconvenient.
The text was updated successfully, but these errors were encountered: