Linux prohlašovat android (ARM EABI-gcc) není přítomen, když je evidentně existuje

hlasů
3

Tak jsem se snaží vybudovat knihovnu pomocí NDK. Domnívám se, že soubory Android.mk a Application.mk jsou správné, ale to, zda jsou nebo ne, je irelevantní.

při provádění make APP=hellov rámci adresáře NDK

Android NDK: Stavební pro aplikaci 'ahoj'
, aby: ./build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-gcc: command not found
kompilace palec: Dobrý den <= apps / SSA / . projekt / JNI / Dobrý den / * c
/ bin / sh: ./build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-gcc: nenalezen
make: *** [out / aplikace / SSA / armeabi / objs / Dobrý den / Dobrý den / *. O] Chyba 127

Takže odtud jsem se rozhodl jít podívat a zjistit, kde byl soubor.

cd build/prebuild/linux-x86/arm-eabi-4.4.0/bin/

Výstup ls -ljasně ukazuje soubor na existenci:

...
-rwxr-xr-x 1 bpescato bpescato  238680 2010-05-03 18:24 arm-eabi-g++
-rwxrwxrwx 1 bpescato bpescato  234520 2010-08-20 09:27 arm-eabi-gcc
-rwxr-xr-x 1 bpescato bpescato  234520 2010-05-03 18:24 arm-eabi-gcc-4.4.0
...

Tak jsem se vedle pokusit se jednoduše spustit jej a nechte jej mi využití:

$ ./arm-eabi-gcc

bash: ./arm-eabi-gcc: Žádný takový soubor nebo adresář

Potom, jen aby se ujistil, že nejsem blázen:

$ Méně arm-gcc-EABI

Arm-EABI-gcc může být binární soubor. Podívej se na to vlastně je?

Jistě by stačilo, zobrazení souboru zobrazí celá řada binárních dat, která je jasně přítomen a na disku.

Má někdo představu, co se děje?

Položena 20/08/2010 v 14:49
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Děkuji fadden za odpověď, nicméně se ukázalo, že moje otázka souvisí s tím, že můj VM (bez vědomí mi) 64 bitovém stroji, a snažil jsem se spustit 32 bit spustitelný.

Takže, opravit problém a udržet stroj neporušené bych potřeboval, aby následovali bitové instrukce 64.

Vzhledem k tomu, mnoho fór odkaz 32 bitové android NDK pomoc, rozhodl jsem se prostě dostat nový 32 bitový VM.

Odpovězeno 23/08/2010 v 13:35
zdroj uživatelem

hlasů
1

Soubor má různá přístupová práva a čas změny od dvou sousedních souborů, což mě zajímalo, jestli to trochu něco rozbité. (Zkuste "cmp arm-EABI-gcc-arm EABI-gcc-4.4.0", by měla být stejná.)

Znamená "ldd arm-EABI-gcc" hlásí chybějící knihovny? Na co myslím je, že soubor, který chybí není „arm-EABI-gcc“ sám o sobě, ale spíše něco, na kterých záleží.

Dalším krokem by bylo „strace ./arm-eabi-gcc“ vidět to, co systém nazývá to dělat.

Odpovězeno 20/08/2010 v 22:20
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more