Forum: Mikrocontroller und Digitale Elektronik gcc-arm-none-eabi x64 linux


von M. Н. (Gast)


Lesenswert?

Hallo Leute,

ich habe mein Linux neu aufgesetzt und wollte nun den ARM Compiler 
installieren. Betriebssystemm ist Ubuntu 14.10 64bit.

Normalerweise verwende ich dafür diese Seite:
https://launchpad.net/gcc-arm-embedded

Das Problem ist jedoch, dass ich ein 64bit System habe, und somit die 
Binaries nicht funktionieren. (Ja ich weiß, dass man die ans Laufen 
bekommt mit den richtigen Libs)

Weiß jemand, wo man 64bit Binaries vom gcc-arm-none-eabi bekommt?

Gruß

M.H.

von Uwe Bonnes (Gast)


Lesenswert?

> uname -a
Linux t520 3.18.0-rc7-2.g088d59b-desktop #1 SMP PREEMPT Fri Dec 5 
00:03:54 UTC 2014 (088d59b) x86_64 x86_64 x86_64 GNU/Linux
> arm-none-eabi-gcc -v
Thread model: single
gcc version 4.8.4 20140725 (release) [ARM/embedded-4_8-branch revision 
213147] (GNU Tools for ARM Embedded Processors

Die Launchpad Kette tut auch unter 64-bit. Probier es nochmals neu...

Tschuess

von M. Н. (Gast)


Lesenswert?

Geht nicht. Bash weigert sich die Datei auszuführen: No such File.

weil es eben 32 bit Binaries sind, und ich ein reines 64bit System habe.

von Gerhard (Gast)


Lesenswert?

ist dein arm-none-eabi-gcc auch wirklich ausführbar?

von M. Н. (Gast)


Lesenswert?

Ja! das file ist ausführbar. es ist nur so, dass Linux Dateien an ihrem 
Inhalt erkennt. Und diese 32 bit Files werden, da auf meinem Rechner in 
dpkg die 32 bit Architektur nicht drin ist und ich somit auch keine 32 
bit Libs aufm Rechner habe, einfach nicht ausgeführt.

Ich hab mal den "Fehler" im Internet gesucht:
http://unix.stackexchange.com/questions/13391/getting-not-found-message-when-running-a-32-bit-binary-on-a-64-bit-system

Also das ist bei mir der Fall.

Ich hatte schon einmal 64bit Binaries, finde diese aber momentan nicht 
mehr.

von greg (Gast)


Lesenswert?


von M. Н. (Gast)


Lesenswert?

Ok. Hab ich gar nicht gesehen :D. Werde versuchen es zu installieren.

Hab den PC grad nicht hier. Melde mich dann in ein paar Stunden wieder.

von PittyJ (Gast)


Lesenswert?

Unter Launschpad.net kann man auch die Kompiler-Sourcen laden.
Also einfach auf dem 64 Bit System selbst kompilieren?

von ?!? (Gast)


Lesenswert?

PittyJ schrieb:
> Launschpad.net

Wenn, dann schon richtig falsch: lanschbett :-)))

scnr

von Dr. Sommer (Gast)


Lesenswert?

PittyJ schrieb:
> Also einfach auf dem 64 Bit System selbst kompilieren?
Leider nicht so einfach. Das Buildscript lässt sich unter amd64 nicht 
durchführen, geschweige denn dass es 64bit-Binaries produzieren kann. Da 
muss man erst diverse Bugs fixen.

Der mit Abstand einfachste Weg ist es, die fehlenden Libraries zu 
installieren und sich mit einem 32bit-GCC begnügen. Unter Ubuntu muss 
man wimre dazu "libc6:i386" installieren, und schon sollte die 
"arm-none-eabi-gcc" ausführbar sein.

von M. Н. (Gast)


Lesenswert?

W: Failed to fetch 
http://ppa.launchpad.net/terry.guo/gcc-arm-embedded/ubuntu/dists/utopic/main/binary-amd64/Packages 
404  Not Found

W: Failed to fetch 
http://ppa.launchpad.net/terry.guo/gcc-arm-embedded/ubuntu/dists/utopic/main/binary-i386/Packages 
404  Not Found

E: Some index files failed to download. They have been ignored, or old 
ones used instead.

Also das PPA ist auch im Eimer...

Wo bekomm ich ausführbare Dateien her?

von M. Н. (Gast)


Lesenswert?

Dr. Sommer schrieb:
> dazu "libc6:i386" installieren



Ok ich hab jetzt fürs erste einmal die Lib installiert und es geht.

ich meine in den Arch repos gabs mal x64 binaries... Mal schauen

von Stefan (Gast)


Lesenswert?

Der GCC läßt sich als Cross-Compiler beinahe beliebig hin- und her 
kopieren. Er muß also nicht "installiert" werden.

greg schrieb:
> Nimm doch einfach das Paket aus dem PPA:
>
> https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded/+build/6449486

.deb Archiv runterladen, mit "dpkg -x xyz.deb ." in einem temporären 
Ordner entpacken und dann alles ab "usr/" irgendwo hin kopieren (z.B. 
nach /opt).

Vorteil: Du versaust dir deine frische Linux Installation nicht mit PPAs 
bzw. mit Paketen die nicht für deine Distribution gedacht ist oder nicht 
weiter gepflegt werden.

Ich habe übrigens mal einen kleinen Benchmark mit den 32- und 64-Bit 
"2014-Q3" Releases gemacht um die Kompilierzeiten zu vergleichen:
i386: 6.3s
x64: 4.8s

Gemessen mit "time make", jeweils ein paar mal wiederholt.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Stefan schrieb:
> Ich habe übrigens mal einen kleinen Benchmark mit den 32- und 64-Bit
> "2014-Q3" Releases gemacht um die Kompilierzeiten zu vergleichen:
> i386: 6.3s
> x64: 4.8s
>
> Gemessen mit "time make", jeweils ein paar mal wiederholt.

Der Unterschied ist schon erstaunlich - hätte ich nicht vermutet.

Rein subjektiv erschienen mir 64-Bit-Versionen bisher nur minimal 
schneller.

Aber das sind ja doch 25%.

Macht das so viel aus?

von Thatguy (Gast)


Lesenswert?

Seit 14.04 oder so ist auch die ARM Toolchain für Baremetal in den 
offiziellen Repos. Einfach das Paket gcc-arm-none-eabi installieren.

von Stefan (Gast)


Lesenswert?

Chris D. schrieb:
> Der Unterschied ist schon erstaunlich - hätte ich nicht vermutet.
>
> Rein subjektiv erschienen mir 64-Bit-Versionen bisher nur minimal
> schneller.

Hat mich auch überrascht, deshalb habe ich es erwähnt. Ich verwende 
üblicherweise die 32-Bit Binaries und habe die 64-Bit Version nur 
interessehalber ausprobiert.

Das war aber auch ein älterer AMD Quadcore. Ich habe es jetzt auf meinem 
Hauptrechner mit einem Intel i3 ausprobiert und kann überhaupt keinen 
Unterschied feststellen. Da sind es in beiden Fällen 3.7s. Beide 
Maschinen laufen mit Kubuntu 14.10.

Intel hat traditionell die bessere Singlecore Performance. Aber dieser 
32/64 Bit Unterschied bei AMD ist mir schon etwas unheimlich.

von M. Н. (Gast)


Lesenswert?

Ich möchte hier im Thread noch anmerken, dass man ebenfalls die 
libncurses in der 32bit Ausführung benötigt, damit arm-none-eabi-gdb 
funktioniert.

Sollte z.B. Eclipse benutzt werden wird nämlich kein Fehler ausgegeben 
und es kommt nur eine Meldung, dass der GDB Server nicht gefunden werden 
kann.

Anmerkung:

Ich werde auch noch einen Freund fragen, wo er die x64 Binaries gefunden 
hat und den Link dann hier reinstellen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.