[cross-compilation ARM] problème d'édition de lien (résolu)

Applications, problèmes de configuration réseau
rasta
archer
Messages : 142
Inscription : mar. 21 févr. 2012, 02:16

[cross-compilation ARM] problème d'édition de lien (résolu)

Message par rasta »

Bonjour,

Je viens poster un nouveau message ici car je me trouve en difficulté pour compilé un programme de test pour android sur ARM. J'effectue une compilation croisé avec arm-none-eabi-gcc mais le problème c'est qu'il lui manque les fonctions classique de la libc a lié au programme.
Je n'ai jamais fais de compilation croisé, alors si quelqu'un pourrais éclairé un peut ce serait vraiment très très sympas.
Je pense que ce qu'il me manque c'est un paquet à installé ou une option de compilation du genre -l ...quelquechose mais comme c'est pour une architecture différente, je suis tout débousolé sur la marche à suivre.


voici le programme de test basique:

Code : Tout sélectionner

#include <stdio.h>
int main(int argc, char *argv[])
{
	printf("Hello Android\n");
}
et voici la sortie du compilateur:

Code : Tout sélectionner

bibi$ arm-none-eabi-gcc hello.c -static -o staticHello
/usr/lib/gcc/arm-none-eabi/4.8.2/../../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function `exit':
/build/arm-none-eabi-gcc/src/gcc-4.8.2/build/arm-none-eabi/newlib/libc/stdlib/../../../../../newlib/libc/stdlib/exit.c:70: undefined reference to `_exit'
/usr/lib/gcc/arm-none-eabi/4.8.2/../../../../arm-none-eabi/lib/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
/build/arm-none-eabi-gcc/src/gcc-4.8.2/build/arm-none-eabi/newlib/libc/reent/../../../../../newlib/libc/reent/sbrkr.c:58: undefined reference to `_sbrk'
/usr/lib/gcc/arm-none-eabi/4.8.2/../../../../arm-none-eabi/lib/libc.a(lib_a-writer.o): In function `_write_r':
/build/arm-none-eabi-gcc/src/gcc-4.8.2/build/arm-none-eabi/newlib/libc/reent/../../../../../newlib/libc/reent/writer.c:58: undefined reference to `_write'
/usr/lib/gcc/arm-none-eabi/4.8.2/../../../../arm-none-eabi/lib/libc.a(lib_a-closer.o): In function `_close_r':
/build/arm-none-eabi-gcc/src/gcc-4.8.2/build/arm-none-eabi/newlib/libc/reent/../../../../../newlib/libc/reent/closer.c:53: undefined reference to `_close'
/usr/lib/gcc/arm-none-eabi/4.8.2/../../../../arm-none-eabi/lib/libc.a(lib_a-fstatr.o): In function `_fstat_r':
/build/arm-none-eabi-gcc/src/gcc-4.8.2/build/arm-none-eabi/newlib/libc/reent/../../../../../newlib/libc/reent/fstatr.c:62: undefined reference to `_fstat'
/usr/lib/gcc/arm-none-eabi/4.8.2/../../../../arm-none-eabi/lib/libc.a(lib_a-isattyr.o): In function `_isatty_r':
/build/arm-none-eabi-gcc/src/gcc-4.8.2/build/arm-none-eabi/newlib/libc/reent/../../../../../newlib/libc/reent/isattyr.c:58: undefined reference to `_isatty'
/usr/lib/gcc/arm-none-eabi/4.8.2/../../../../arm-none-eabi/lib/libc.a(lib_a-lseekr.o): In function `_lseek_r':
/build/arm-none-eabi-gcc/src/gcc-4.8.2/build/arm-none-eabi/newlib/libc/reent/../../../../../newlib/libc/reent/lseekr.c:58: undefined reference to `_lseek'
/usr/lib/gcc/arm-none-eabi/4.8.2/../../../../arm-none-eabi/lib/libc.a(lib_a-readr.o): In function `_read_r':
/build/arm-none-eabi-gcc/src/gcc-4.8.2/build/arm-none-eabi/newlib/libc/reent/../../../../../newlib/libc/reent/readr.c:58: undefined reference to `_read'
collect2: error: ld returned 1 exit status
Merci d'avance de votre aide si vous prenez le temps de me répondre...
Dernière modification par rasta le dim. 16 mars 2014, 01:15, modifié 2 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17238
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [cross-compilation ARM] problème d'édition de lien

Message par benjarobin »

Comment as tu installé arm-none-eabi-gcc ? Tu as bien installé le paquet arm-none-eabi-gcc ?
Je vais faire le test...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
rasta
archer
Messages : 142
Inscription : mar. 21 févr. 2012, 02:16

Re: [cross-compilation ARM] problème d'édition de lien

Message par rasta »

Bonjour Benjarobin,

J'ai bien installé le paquet "arm-none-eabi-gcc" et "arm-none-eabi-binutils" de cettet façon:

Code : Tout sélectionner

$yaourt -S arm-none-eabi-gcc arm-none-eabi-binutils
Donc voilà, sa c'est bon.
Cependant, on dirait que le problème viens de la glibc, comme si les appels systèmes de bases n'était pas disponible!!!! (interprétation boiteuse?)

Je cherche sur internet mais la seul chose que je trouve de potable est ceci:
http://stackoverflow.com/questions/9632 ... -processor

qui conseil entre autre de téléchargé la chaine de compilation complète directement à ce lien:
http://www.mentor.com/embedded-software ... e-edition/

Je pourrais téléchargé le package du liens mais je pense que sa doit fonctionné sous arch, alors je continue.
A ce que j'ai compris, a chaque fois que l'on désire utiler une librairy sur ARM, il faut la recompilé pour la plateforme cible.

Je rajoute ici l'ensemble des options du compilateur arm-none-eabi-gcc:

Code : Tout sélectionner

$arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-none-eabi/4.8.2/lto-wrapper
Target: arm-none-eabi
Configured with: ../configure --target=arm-none-eabi --prefix=/usr --libexecdir=/usr/lib --with-pkgversion='Arch Repository' --with-bugurl=https://bugs.archlinux.org/ --enable-multilib --enable-interwork --enable-languages=c,c++ --with-newlib --with-gnu-as --with-gnu-ld --disable-nls --disable-shared --disable-threads --with-headers=newlib/libc/include --disable-libssp --disable-libstdcxx-pch --disable-libmudflap --disable-libgomp --with-system-zlib --disable-newlib-supplied-syscalls
Thread model: single
gcc version 4.8.2 (Arch Repository) 


En tout cas merci de consacré du temps à ce problème, moi je cherche encore.....
rasta
archer
Messages : 142
Inscription : mar. 21 févr. 2012, 02:16

Re: [cross-compilation ARM] problème d'édition de lien(résol

Message par rasta »

Bon et bien au faite c'est bon. J'ai trouvé une solution efficace, c'est CLFS (cross linux from scratch). Cela m'a permit de résoudre toute mes lacunes afficher dans mes messages si dessuse et d'affiné mes connaissances, O TOP CLFS.

A bienôt. :=>)

http://trac.cross-lfs.org/
Répondre