私はeCos で使用するツールチェーンの構築 そして、binutils 用のツールを設定およびビルドするところまで来ました。
./configure --target=arm-elf --prefix=../gnutools -v &> configure.out2
make -w all install &> make.out
しかし、makeを実行すると、次のエラーが発生します:
libtool: link: only absolute run-paths are allowed
libtool は存在しない -rpath を使用して /bfd/libbfd.a ライブラリを構築しようとしているようです。
libtool --mode=link gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -g -O2 -o libopcodes.la -rpath ../gnutools/x86_64-unknown-linux-gnu/arm-elf/lib -release 2.13.1 dis-buf.lo disassemble.lo arm-dis.lo
そこで、これを回避するために、環境変数 LIBDIR を、探していると思われる lib ディレクトリに設定しました。
LIBDIR=/home/dan/dev/arm/crosstool/gcc-4.0.1-glibc-2.3.5/arm-linux/arm-linux/lib
そして、-rpath が $LIBDIR に設定されている点を除いて上記のパラメータで libtool を呼び出す bash スクリプトを実行し、libbfd.a ライブラリを正常に作成します。次に make を実行すると、opcodes ディレクトリのライブラリを作成しようとしますが、同じ問題が発生します。configure スクリプトで -rpath を設定するにはどうすればよいでしょうか。または、Makefile を編集して設定することもできますか。
答え1
./configure には があり--prefix=../gnutools
、 である必要があります--prefix=/gnutools
。 ..relative ではなく、絶対パスが必要です。