-
-
Notifications
You must be signed in to change notification settings - Fork 114
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
Build instructions #348
Comments
The structure it's not changed from To build you just need the latest version of go and run Here a transcript from a clean build:
|
Okay, thanks for that hint. Just to understand better: Where is the |
The benefit is that the dependent packages are listed here: and each package is listed with a specific git revision, so the build is reproducible. When you run If you run The |
@cmaglie Thank you for your explanation. I've seen in the PR, that arduino-builder is now deprecated. It looks like a lot has changed recently, and I am not up to date on how to properly package arduino. I kindly ask you, if you can give me a few hints what I need to know about the recent changes. From my understanding arduino-builder is no longer needed for the current ide, and I should rather package arduino-cli? How does that integrate with the new IDE? You also mentioned that platform.txt no longer exists, but how would I reference the avr-gcc binaries or the arduino-ctags binary? It would help me a lot to provide a quality good arduino package for archlinux, which is quite outdated for a while (I am so sorry, that was my fault!). |
AFAIU, the current IDE still uses arduino-builder, but the main code for that has all moved to the arduino-cli repo and development happens there. Possibly Arduino create has switched to calling arduino-cli internally already (not sure) and AFAIU this should happen for the java IDE in the future as well. Until then, this repo still serves to build the arduino-builder binaries.
I believe this only referred to the platform.txt that was previously shipped along arduino-builder and contained some default values (mostly for compatibility with cores that were created before arduino-builder exists, I suspect). You will still need a platform.txt in the hardware / core directories for your cores. As for packaging: I think that the arduino/Arduino repo is still the starting point. That has an antfile that will download/collect all needed components (though you probably want to refer to existing packages rather than bundle them, but the antfile should at least show you what's needed for a normal IDE build). |
@NicoHood don't worry, just package as always, the Arduino IDE still uses There are no major changes in the way the build is done, even if the |
The following test failed:
Can that be fixed somehow? |
Looks like you are correct:
But where can I find those platform.txt files? I mean I could use those "old" files from previous releases, but I expect those files to be hosted somewhere. If they are completely removed I suggest adding them back to this arduino-builder repository. And what about the java version? Do I need to force java8 or will arduino update/support newer java versions? arduino/Arduino#8903 |
uh... how did you run tests on this library? It seems that you are running tests on a (deep) dependency of arduino-builder, but this is not a common practice, I don't think this is what you want. There are basically no more direct tests on this repository for IMHO you can safely skip the test here. |
Let me check this one. |
It seems you're right @NicoHood, I'll check this for the next release of the |
I ran the tests using Adding the hardware folder is a very nice idea. I think you should also add the platform.txt, not only the "rewrite" file. You can tag a new point release or I can add them manually to the package. Depends on if you want to tag a new release or not. |
that one is not needed (I'm sure because it's not even in the official build of IDE :-))
Let me update the tag... |
Tag updated. |
But that file existed in the previous release: Because now I get the following error when compiling a sketch:
|
We do add
and when we build the IDE the content of the
But now I'm wondering... how did it worked before? I mean, you provided ctags in some other way? |
Before I used the provided platform.txt file and patched it using sed to point to our packaged version:
|
I see, for now you can:
or
This should be enough for the current release. |
So dont we need the platform.txt file in the arduino-builder repo? It would be nice to have it there, as it seems to be still required. |
It's not required, in the official distribution of the IDE is not present anymore, but it's still parsed for backward compatibility. In your case you can use it to force ctags path. Anyway I'd like to provide a better way for package maintaners to do that. (we are going to ger rid also of the platform.rewrites.tx, see #351) |
I mean you can generate a platform.txt with just two lines:
|
Thank you, I got it running now. Would it be possible to collect such build changes somewhere, so we can package arduino easier in the future? I also have another question. The latest arduino release 1.8.12 says: "Reverted the bundled Java JRE to the latest freely redistributable Oracle JRE for all platforms except:". Does that mean, we can use the OS Java runtime? If yes, which version? Is java 8 still preferred or does arduino support newer versions. What are the plans to update to newer versions? |
Sure, I'll notify you when such change will happen.
Theoretically any JRE 8.0 should be fine... but the reality is that the Oracle JRE has still something, I don't know what, that makes it work better than the other open alternatives, in particular regatd to font rendering and 2d graphics. We tried to ship the latest OpenJDK JRE built from AdoptOpenJDK, and we had some weird problems (mostly related to font/graphics and unexplicable crash/freeze). We are keeping the complete list under the "OpenJDK" label in the Arduino IDE repository if you want to take a look. We didn't tested JRE 11, again theoretically it should be fine, but we never know until we try it for real. |
I try to build arduino-builder 1.5.1 for archlinux. It looks like the build system and folder structure changed again. I got the following error when building:
Is the readme build instruction up to date? Do you know anything I have missed to build it properly? I guess it must be something obvious that I missed.
The text was updated successfully, but these errors were encountered: