32ビットのUbuntu10.04仮想マシンでLinaroツールチェーンを使用して、ARMのデバッグシンボルを使用してglibc-2.13をビルドしようとしています。私が調査したことから、そうするためのステップ(および私が取ったステップ)はここに示されています:
mkdir /home/user/Desktop/glibc
cd /home/user/Desktop/glibc
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.13.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-2.13.tar.bz2
tar xvjf glibc-2.13.tar.bz2
tar xvf glibc-ports-2.13.tar.gz
mkdir -p glibc-2.13/ports
cp -r glibc-ports-2.13/* glibc-2.13/ports
mkdir tmp
mkdir glibc-build
cd glibc-build
export CFLAGS="-O1 -g"
export CPPFLAGS="-O1 -g"
export CC=/home/user/proj/toolchain/linaro/bin/arm-linux-gnueabi-gcc
export CXX=/home/user/proj/toolchain/linaro/bin/arm-linux-gnueabi-g++
../glibc-2.13/configure --host=arm-linux --prefix=/home/user/Desktop/glibc/tmp --enable-addons ports=yes
make
構成ステップが完了し、makeに進むと、しばらくするとビルドエラーが発生し、次のエラーが発生します。
In file included from ../ports/sysdeps/unix/sysv/linux/arm/ldsodefs.h:23:0,
from ../csu/libc-tls.c:21,
from ../ports/sysdeps/arm/libc-tls.c:20:
../sysdeps/unix/sysv/linux/ldsodefs.h:64:0: note: this is the location of the previous definition
/tmp/ccgCNS8e.s: Assembler messages:
/tmp/ccgCNS8e.s:174: Error: invalid swi expression
/tmp/ccgCNS8e.s:174: Error: value of 983045 too large for field of 2 bytes at 196
make[2]: *** [/home/user/Desktop/glibc/glibc-build/csu/libc-tls.o] Error 1
make[2]: Leaving directory `/home/user/Desktop/glibc/glibc-2.13/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/home/user/Desktop/glibc/glibc-2.13'
make: *** [all] Error 2
私が読んだものから「tls」が必要であり、-without-tlsをビルドしようとすると、tlsが必要であるというエラーが表示されます。この問題についてGoogleで何も見つかりませんでした。
誰かが私がこれを解決してこのエラーを乗り越える方法を知っていますか?ありがとう -
編集:configureコマンドの前に次のエクスポートを追加しましたが、それでも同じエラーが発生します:
export CC=/home/user/gemini/toolchain/linaro/bin/arm-linux-gnueabi-gcc
export CXX=/home/user/gemini/toolchain/linaro/bin/arm-linux-gnueabi-g++
export AR=/home/user/proj/toolchain/linaro/bin/arm-linux-gnueabi-ar
export AS=/home/user/proj/toolchain/linaro/bin/arm-linux-gnueabi-as
export LD=/home/user/proj/toolchain/linaro/bin/arm-linux-gnueabi-ld
export RANLIB=/home/user/proj/toolchain/linaro/bin/arm-linux-gnueabi-ranlib