[MontelLUG] Errore compilazione gcc arm
Diego
diego.ml a zoho.com
Gio 18 Feb 2016 15:01:57 CET
In data martedì 16 febbraio 2016 23:01:56, Samuele ha scritto:
> Il 16/02/2016 21:49, Toni ha scritto:
> > {snip}
> >
> > include path?
>
> Rabaltando ancora una volta i termini di ricerca è saltato fuori che ci
> voleva sta altra versione delle librerie:
>
> sudo apt-get install libnewlib-arm-none-eabi
>
> al che dopo si è introiato con
>
> ./mbed/platform.h:25:19: fatal error: cstddef: No such file or directory
> #include <cstddef>
>
> e dovrò cambiare versione di compilatore.
> Ho arm-none-eabi-gcc (4.8.2-14ubuntu1+6) 4.8.2 invece che
> arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.8.3
>
> https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
>
> e sperare che non ci siano altre sfighe.
>
> Il solito inferno di dipendenze per compilare un cavolo di programma che
> fa 4 cose in croce...
>
Ciò, cross-compilare non è proprio come prendere caffé e brioche al bar...
A vedere ti mancano pezzi, perché per cross-compilare serve non solo il
compilatore, ma anche librerie per la piattaforma target e relativi header,
oltre che il Makefile (o buildsystem) del programmino in questione sia scritto
in modo da supportare il cross-compiling (cosa ovviamente non garantita,
anzi).
Io mi trovo bene con la toolchain di Linaro che ha il suo relativo sysroot:
http://www.linaro.org/downloads/ (vedi in fondo)
Chiaramente se compili per una specifica piattaforma dovresti usare i relativi
componenti userspace (header e librerie), per evitare il rischio di compilare
a fronte di librerie troppo nuove per il tuo target o chissà quale ABI break.
Diego
Maggiori informazioni sulla lista
montellug