2017-01-21 1 views
0

J'essaie de croiser GLibC 2.24 pour ARM (Android) avec le compilateur gcc-arm-linux-androideabi. Voici la syntaxe ./configure je:La compilation croisée GLibC 2.24 échoue avec l'erreur 1

../glibc-2.24/configure --prefix=/usr --host=arm-linux-androideabi --with-headers=/usr/include 

Cependant, quand je lance make, il échoue avec l'erreur suivante:

In file included from 
../sysdeps/arm/libc-tls.c:19:0: 
../csu/libc-tls.c: In function '__libc_setup_tls': 
../csu/libc-tls.c:191:1: error: '__ARM_NR_set_tls' undeclared (first use in this function) 
../csu/libc-tls.c:191:1: note: each undeclared identifier is reported only once for each function it appears in 
make[2]: *** [/home/red/glibc-build/csu/libc-tls.o] Error 1 
make[2]: Leaving directory `/home/red/glibc-2.24/csu' 
make[1]: *** [csu/subdir_lib] Error 2 
make[1]: Leaving directory `/home/red/glibc-2.24' 
make: *** [all] Error 2 

Je naviguaient pourquoi il est arrivé, n'a pas trouver n'importe quoi. Quelle pourrait être la cause de cette erreur?

Je cours sous Ubuntu 14.04.5 LTS 64 bits.

Répondre

1

I am running Ubuntu 14.04.5 LTS 64-bit.

C'est un état sans signification. 64 bits quoi? Est-ce sparc64, aarch64, x86_64, autre chose?

Vous utiliserez probablement x86_64. Dans ce cas, vous utilisez configure tous faux. Le --host=arm-linux-androideabi dit configure que vous construisez sur une machine linux ARM, qui ne pourrait être plus loin de la vérité.

Qu'est-ce que vous voulez dire probable est que vous voulez construire pour arm-linux-androideabicible, et dans ce cas, la commande configure correcte est quelque chose comme:

configure --target=arm-linux-androideabi --prefix=/usr ... 

Votre réglage --with-headers est également très susceptible d'être incorrect: il est presque certain que vous ne voulez pas utiliser /usr/include de x86_64 hôte pour construire la cible d'armement.

+0

Merci, remplaçant --host avec --target l'a fait. – Redectro