#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