错误发生在libtool的第8962行,它在循环内执行了很多命令。有问题的命令的内容是
arm-xilinx-linux-gnueabi-gcc -shared -fPIC -DPIC genl/.libs/ctrl.o genl/.libs/family.o genl/.libs/genl.o genl/.libs/mngt.o -Wl,-rpath -Wl,/usr/arm-linux-gnueabi/lib -L/usr/arm-linux-gnueabi/lib -lnl-3 -lpthread -lm -O2 -Wl,--version-script=../libnl.sym -Wl,-soname -Wl,libnl-genl-3.so.200 -o .libs/libnl-genl-3.so.200.19.0
如果我手动运行它,它会说
error: genl/.libs/ctrl.o: No such file or directory
<。> .o s在那里,但问题是make install是在sudo下,但是sudo是一个不同的环境,它无法识别路径。所以解决方案是:
sudo -s
source /opt/pkg/......./settings.sh
Xilinx Petalinux需要源命令用于路径。现在make install将起作用
我正在跟随beyond logic example交叉编译iw工具。第一步是libnl。我正在使用CentOS交叉编译libnl,所以我必须运行source /opt/pkg/.../settings.sh
来设置arm-xilinx-linux-gnueabi-gcc路径。然后我使用了./configure --host=arm-xilinx-linux-gnueabi --prefix=/usr/arm-xilinx-linux-gnueabi
make
运行正常。但make install
失败并出现以下错误:
libtool: install: (cd /xxx/libnl-3.2.24/lib; /bin/sh /home/xxx/libnl-3.2.24/libtool --silent --tag CC --mode=relink arm-xilinx-linux-gnueabi-gcc -g -O2 -version-info 219:0:19 -Wl,--version-script=../libnl.sym -o libnl-genl-3.la -rpath /usr/arm-xilinx-linux-gnueabi/lib genl/ctrl.lo genl/family.lo genl/genl.lo genl/mngt.lo libnl-3.la -lpthread -lm )
/xxx/libnl-3.2.24/libtool: line 8962:
arm-xilinx-linux-gnueabi-gcc: command not found
libtool: install: error: relink `libnl-genl-3.la' with the above command before installing it
make[3]: *** [install-libLTLIBRARIES] Error 1
make[3]: Leaving directory `/xxx/libnl-3.2.24/lib'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/xxx/libnl-3.2.24/lib'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/xxx/libnl-3.2.24/lib'
make: *** [install-recursive] Error 1
因为make使用arm-xilinx-linux-gnueabi-gcc
成功,为什么make install抱怨它无法找到它?
答案 0 :(得分:0)
问题在于以下陈述
./configure --host=arm-xilinx-linux-gnueabi --prefix=/usr/arm-xilinx-linux-gnueabi
/ usr上未安装 arm-xilinx-linux-gnueabi
这就是导致arm-xilinx-linux-gnueabi-gcc: command not found
错误的原因。
安装arm工具链,然后按照beyond logic example
中提到的步骤操作