交叉编译 GLibC 2.24 失败并出现错误 1
Cross-compiling GLibC 2.24 fails with Error 1
我正在尝试使用 gcc-arm-linux-androideabi 编译器为 ARM (Android) 交叉编译 GLibC 2.24。这是我使用的 ./configure 语法:
../glibc-2.24/configure --prefix=/usr --host=arm-linux-androideabi --with-headers=/usr/include
但是,当我 运行 make 时,它失败并出现以下错误:
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
我浏览了网页以了解发生的原因,但没有找到任何信息。导致此错误的原因可能是什么?
我是 运行ning Ubuntu 14.04.5 LTS 64 位。
I am running Ubuntu 14.04.5 LTS 64-bit.
这是一个毫无意义的声明。 64位什么?是 sparc64
、aarch64
、x86_64
还是别的什么?
很可能您正在使用 x86_64
。在那种情况下,您使用 configure
完全错误。 --host=arm-linux-androideabi
告诉 configure
您正在 ARM linux 机器上构建,这与事实相去甚远。
你的意思可能是你想为 arm-linux-androideabi
target 构建,在这种情况下,正确的 configure
命令类似于:
configure --target=arm-linux-androideabi --prefix=/usr ...
您的 --with-headers
设置也很可能不正确:您几乎肯定不想使用来自 x86_64
主机的 /usr/include
来构建 arm 目标。
我正在尝试使用 gcc-arm-linux-androideabi 编译器为 ARM (Android) 交叉编译 GLibC 2.24。这是我使用的 ./configure 语法:
../glibc-2.24/configure --prefix=/usr --host=arm-linux-androideabi --with-headers=/usr/include
但是,当我 运行 make 时,它失败并出现以下错误:
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
我浏览了网页以了解发生的原因,但没有找到任何信息。导致此错误的原因可能是什么?
我是 运行ning Ubuntu 14.04.5 LTS 64 位。
I am running Ubuntu 14.04.5 LTS 64-bit.
这是一个毫无意义的声明。 64位什么?是 sparc64
、aarch64
、x86_64
还是别的什么?
很可能您正在使用 x86_64
。在那种情况下,您使用 configure
完全错误。 --host=arm-linux-androideabi
告诉 configure
您正在 ARM linux 机器上构建,这与事实相去甚远。
你的意思可能是你想为 arm-linux-androideabi
target 构建,在这种情况下,正确的 configure
命令类似于:
configure --target=arm-linux-androideabi --prefix=/usr ...
您的 --with-headers
设置也很可能不正确:您几乎肯定不想使用来自 x86_64
主机的 /usr/include
来构建 arm 目标。