-
-
Notifications
You must be signed in to change notification settings - Fork 7k
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
Adding ARM builds (2nd round) #4457
Conversation
Compiled on a Raspberry Pi2, Jessie armhf7
There is an official download for the arm build, but the ctags path is wrong. See arduino#79
This is a necessary step to fully support ARM builds of the Arduino IDE See #3549
Ya, you broke it when you updated to 1.6.8, lol. |
Yup, If you undo that patch, all is well. They even make a hidden directory to hide the package_index.json and sig file
ps: @NicoHood your github could still use updating, there are no 'git tags' after 1.6.5-r5 .. :/~ |
+1
|
IDE is now fixed and a download is provided. Please test and report if it works on your device and which device you used. The current master is broken, due to the lack of a new arduino-builder arm version. But I tagged the working version, so you can always go back to this and recompile it yourself. |
The patch on the HostDownloadable class has been made to allow updates of the cores from the Boards Manager. As you have noticed the Without this patch the next time you try to update the AVR core, or install a non-AVR core, through the Board Manager the IDE will download the tools for x86 and consequently fail: that's the reason why I added the patch, not to lock someone out.
@ShorTie8 Thanks. |
@NicoHood |
Oh I see now. Thx for clarifying @cmaglie So what about arduino hosting the binaries? Then I can add the download link instead and remove the binaries from the git. This would make things simpler. If the arm arduino-builder (with the path fix) is setup and the other files are hosted it should be easy to maintain this. It would be almost ready to merge. We just have to keep track of the changes and apply those additions for arm too. But most of the work is done already. |
Sure, but we can't host untrusted binaries, we need to reproduce the build here. Let's start with arduino-builder, I'll give it a spin tomorrow, now I should go AFK for a while. |
Sure, thats true. |
fyi: My script always builds the latest git versions, but may tar them up as a different version so the build.xml is satisfied. And I don't hide what it is doing, I'm nice and it tells ya in the push to be. Thankz @NicoHood for updating and fixing github ps @cmaglie it's my computer not yours, why do write files that I can not normally see ?? So how do you make the sig file ??? |
@ShorTie8, to make the sig file you only need |
@facchinm oh really ??
|
@cmaglie Actually it seems I think Board Manager is smart enough not to offer any platform specific downloads for unknown os types. Or so it seems because I was trying to add the sam stuff for yucks and couldn't find it. But truely not sure, and not worth my time to figure further, I'll just hack the build.xml to include it if peeps want it and see how it goes .. :/~ So I got the IDE and toolchain-avr of course, arduino-builder, astyle, bossac, Coan, ctags, OpenOCD and listSerialPortsC all being compiled and/or options to. Some of witch I don't know what they are specifically for or where they might go .. :/~ What other os specific things need compiling ?? |
@ShorTie8 do you want to express your disappontment? that's fine, I'm just asking to not talk on behalf of someone else, especially if that someone else is unaware of that and what are you saying is just your opinion.
shasum is needed to make the .sha files needed on build.xml. To make the .sig file we use gpg and a private key to sign the package_index.json file. This is a common way to use strong crypto to validate downloaded package and protect against tampering.
Hope this clarifies the reasons behind the .sig file. |
Yes that's the reason why I added the extra |
I'm making good progress on the 2014q1 toolchain build. Details here: arduino/arduino-builder#105 (comment) |
Thx for uploading the binaries. However the checksums did not match the checksums that I compiled myself. Maybe you had a different compiler version. However I've updated the checksums, reverted the patch (for the json file) and updated the latest git. I also remove the binaries now. @cmaglie The package_index.json does not seem to work for me. I still get this error, that no proper versions were found:
It seems to totally ignore the file (even if I delete it), so I do not know where it is searching. Or do I have to add this before compiling the IDE? Also could you please add the .sig file too (without the arm in the name, if that matters)? Edit: I had to remove the file from It also looks like this file totally differs from the current git: http://downloads.arduino.cc/packages/test_package_arm_index.json Also I could not apply the patch. Then we need to merge the commit together (to remove the binaries from the history), test the IDE (on different systems) and also remove the additional readme that I added. |
@NicoHood This lead to a very clean history as you described, and now I'm able to build the IDE on the raspberry and run it successfully.
Yes, sorry, I forget to tell you that you can set the java property After that you can overrides the package_index.json in this way: c35250d (note that this commit will be removed before merging the branch upstream). Now I'm looking into ArduinoBot to allow it build also the ARM version. We are very close! |
Great work done! I am going to test this later. We then could add a list of tested boards and check if all of them work properly. Also the diff itself is quite simple. It was a lot of work to get there, but actually its impressive that its not much to change. ;) |
About 10 hours are left until the (hopefully) final build of the toolchain for Due & Zero is complete. |
Finished building and checking the 2014q1 toolchain. :) |
Hi, I am trying to install the Arduino Two board on Raspberry but at compile time I getting the message "arm-none-eabi-g ++ exec format error" even with the 2014q1 toolchain by PaulStoffregen. Can someone help me? |
Maybe, but what steps would I need to take to recreate this error? I don't even know which RPi you're using. I can't see your screen, or what things you've click or what commands you've typed. I do know that toolchain runs fine on my Raspberry Pi. I'm absolutely confident if I try it again the way I know how, it'll work perfectly, as it did a few weeks ago. Can you understand my reluctance to spend time on this without clear info about exactly the steps you took? |
Thanks for the reply. If you say it works then definitely something I may be wrong. Meanwhile, I have a Raspberry pi 3, and I'm using the build of NicoHood 1.6.8-rc. Everything ok for Arduino Uno / Mega. I have the need to program for an Arduino Due, in the Arduino IDE. I go to Tools-> Board Manager and add "Sam Arduino Board 1.6.7". Once completed I select the Arduino card Two and I try to compile I get error: Definitely wrong in something .. and I apologize for my stupidity |
On your RPi in a terminal, can you try these command, and post the result?
When I run them here on my Raspberry Pi, with the pathname to that file, I see this:
|
I do not know what strange reason, but does not copy the files .. they do not matched the md5! Now it works beautifully! Thank you so much for your patience, I owe you a drink |
Supersed by #4517 |
Originally based on #3549
See the link above for additional recompile instructions of the different components and also the work of @ShorTie8 https://github.com/ShorTie8/Arduino_IDE
Take me to Download!
Just see the latest readme here which should point to the current downloads:
https://github.com/NicoHood/Arduino
Attention
This PR does include precompiled binaries! You should remove those before you merge this PR. I could do this on a different branch, if you are willing to merge this PR. But for now we keep this PR as visual reference of the changes I made to far to build.xml.
Adding precompiled binaries can be avoided if the arduino company uploads those files on their folders and also recompile new arm builds, such as the arduino-builder arm build (which needs a fix for now).
Build instructions
This PR can be build with an arm device or any x64 linux:
To create new checksums use this:
Compiling on arm with the binaries in place takes about 5~10min on a raspi2 which is acceptable since you do this once a day as dev.
Please note that crosscompiling the IDE is possible, since the binaries are precompiled on arm. The arm binaries are not yet all crosscompile able. Also it is not worth to add this option, since we only need to do that once (except for arduino-builder).
Bugs
Edit: Fixed! See below
The current build will not start! This happens with crosscompile and normal compilation.
This bug happens here:
https://github.com/NicoHood/Arduino/blob/master/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java#L273
And might or might not be related to this:
6398cde
Which looks to me like it is a bug from the commit above:
Arduino/arduino-core/src/cc/arduino/contributions/packages/ContributedTool.java
Line 45 in 6398cde
This commit caused the error, I reverted the commit:
6398cde
cc @cmaglie @facchinm @CRImier @imihalkovic @TXCodeDancer @Testato