嘗試為 ecos bintuils 執行 ./configure 和 ./make -

嘗試為 ecos bintuils 執行 ./configure 和 ./make -

我要從建立與 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  

因此,為了解決這個問題,我將 env var LIBDIR 設定為 lib 目錄,我假設它正在尋找:

LIBDIR=/home/dan/dev/arm/crosstool/gcc-4.0.1-glibc-2.3.5/arm-linux/arm-linux/lib

並執行一個 bash 腳本,該腳本使用上述參數呼叫 libtool,但 -rpath 設定為 $LIBDIR ,這使得 libbfd.a 函式庫正常。然後我運行 make ,它嘗試為操作碼目錄建立庫,但遇到了相同的問題。如何在配置腳本中設定-rpath?或者甚至透過編輯 Makefile 來設定它?

答案1

在你的 ./configure 中,你已經得到--prefix=../gnutools並且應該是--prefix=/gnutools.它需要絕對路徑,而不是相對路徑。

相關內容