2010-06-21 6 views
1

J'essaie de cross-compiler dropbear pour android. Les fichiers semblent compiler find, mais lorsqu'ils sont exécutés, ils donnent "program: not found". J'ai fait une recherche et les bibliothèques marquées NEEDED semblent être situées dans l'environnement de compilation croisée. J'ai compilé d'autres programmes avec cet outil.Cross-compilation pour Android

bras-none-linux-gnueabi-readelf -d dropbear

Dynamic section at offset 0x1c158 contains 27 entries: 
    Tag  Type       Name/Value 
0x00000001 (NEEDED)      Shared library: [libutil.so.1] 
0x00000001 (NEEDED)      Shared library: [libcrypt.so.1] 
0x00000001 (NEEDED)      Shared library: [libgcc_s.so.1] 
0x00000001 (NEEDED)      Shared library: [libc.so.6] 
0x0000000c (INIT)      0x9428 
0x0000000d (FINI)      0x1e1b4 
0x00000019 (INIT_ARRAY)     0x2c14c 
0x0000001b (INIT_ARRAYSZ)    4 (bytes) 
0x0000001a (FINI_ARRAY)     0x2c150 
0x0000001c (FINI_ARRAYSZ)    4 (bytes) 
0x00000004 (HASH)      0x8168 
0x00000005 (STRTAB)      0x8ba0 
0x00000006 (SYMTAB)      0x84b0 
0x0000000a (STRSZ)      970 (bytes) 
0x0000000b (SYMENT)      16 (bytes) 
0x00000015 (DEBUG)      0x0 
0x00000003 (PLTGOT)      0x2c258 
0x00000002 (PLTRELSZ)     848 (bytes) 
0x00000014 (PLTREL)      REL 
0x00000017 (JMPREL)      0x90d8 
0x00000011 (REL)      0x90c8 
0x00000012 (RELSZ)      16 (bytes) 
0x00000013 (RELENT)      8 (bytes) 
0x6ffffffe (VERNEED)     0x9048 
0x6fffffff (VERNEEDNUM)     4 
0x6ffffff0 (VERSYM)      0x8f6a 
0x00000000 (NULL)      0x0 

Répondre

0

J'ai trouvé le problème. Je compilais sans le drapeau STATIC = 1. Merci pour la réponse! Merci pour la réponse! J'ai reçu la source corrigée du github de cyanogène

0

Avez-vous appliqué le "patch" à dropbear, car dropbear utilise/etc/passwd et qui n'existe pas sur Android.

trouvé sur Installing Dropbear - MyWiki

Dropbear doit être patché pour travailler avec Android. Android n'utilise pas de fichier '/ etc/passwd', il doit donc être corrigé avec quelques modifications de répertoire. Cela ajoute également un mot de passe statique. Ce mot de passe se trouve en bas de 'debug.h' dans le répertoire dropbear. Le mot de passe par défaut est "mot de passe". Le patch se trouve ici: http://pastebin.com/f3dedc5e7

Je sais dropbear peut compiler et exécuter sur Android parce que CyanogenMod, ainsi que la plupart des autres ROM que j'ai utilisés ont sur le système.

+0

Merci. Malheureusement, le patch ne résout pas le problème. Ici, le binaire est - pas trouvé -. dropbearkey: non trouvé. Cela se produit avec tous les programmes générés par la compilation dropp – Alan

+0

Je dirais alors peut-être essayer de construire à partir de cette source ou juste jeter un oeil pour voir ce qui est différent. http://github.com/cyanogen/android_external_dropbear –