Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/03/2013, à 10:02

®om

Problème pour compiler un projet en ARM

Bonjour,

Sur une machine avec Ubuntu 12.10 (je n'ai pas réussi à installer tout ce qu'il fallait sur debian), je cherche à compiler iw en arm (pour l'exécuter sur Android).

Je récupère le projet:

https://github.com/br101/android_external_iw.git

J'ai installé libnl-dev (dépendance du projet) et gcc-arm-linux-gnueabi pour cross-compiler en arm.

Puis je fais :

$ CC=arm-linux-gnueabi-gcc make
 CC   iw.o
 CC   genl.o
 CC   event.o
 CC   info.o
 CC   phy.o
 CC   interface.o
 CC   ibss.o
 CC   station.o
 CC   survey.o
 CC   util.o
 CC   mesh.o
 CC   mpath.o
 CC   scan.o
 CC   reg.o
 GEN  version.c
 CC   version.o
 CC   reason.o
 CC   status.o
 CC   connect.o
 CC   link.o
 CC   offch.o
 CC   ps.o
 CC   cqm.o
 CC   bitrate.o
 CC   wowlan.o
 CC   roc.o
 CC   p2p.o
 CC   sections.o
 CC   iw
/usr/lib/gcc/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: ne peut
 trouver -lnl
collect2: erreur: ld a retourné 1 code d'état d'exécution
make: *** [iw] Erreur 1

Un simple make (avec gcc) fonctionne (pour compiler iw pour l'architecture locale, à savoir amd64, mais évidemment pas pour arm).

Merci de votre aide.

Hors ligne

#2 Le 22/03/2013, à 10:10

®om

Re : Problème pour compiler un projet en ARM

Bon, c'est plus compliqué que ce que je pensais :
http://www.onlyxool.net/porting-iw-tools-to-android/

Du coup pour l'instant j'ai pris le binaire fourni dans son billet ^^

Mais je suis toujours intéressé pour le compiler moi-même.

Hors ligne

#3 Le 29/03/2013, à 16:59

mfc_alpha

Re : Problème pour compiler un projet en ARM

Salut Romain,

L'erreur se passe au link, lorsque LD tente de trouver la librairie nl.
Installer libnl-dev fonctionnerait si tu était sur une machine arm.
Or, si j'ai bien compris, tu tente une cross compilation et donc libnl-dev installe les headers et la lib mais pour ton architecture host (x86 ? ).
Il te faut donc cross-compiler la libnl et l'installer avec les autres libs de ta toolchain (et pas avec le reste de tes libs system).

Peut être que la libnl aura une autre dépendance qui aura elle aussi une autre dépendance ...


Mathieu

Hors ligne