問題是這樣的,通過buildroot做了一套工具鏈,將工具鏈打包出來放到其他機器上,大部分的編譯都可以
但編譯內核時報錯
CHK include/linux/version.h
CHK include/generated/utsrelease.hmake[1]: `include/generated/mach-types.h' is up to date.
CC kernel/bounds.s
/opt/arm/usr/bin/../libexec/gcc/arm-broadcom-linux-gnueabi/4.7.3/cc1: error while loading shared libraries: libmpc.so.3: wrong ELF class: ELFCLASS64
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
cp: cannot stat `./arch/arm/boot/Image': No such file or directory
cp ./arch/arm/boot/Image ../../mkubi/Image
通過ldd查看cc1的庫調用情況
zhangjiajie@hhpfmsvr8:/home/zhangjiajie/linux-3.6.5-arm/kernel/linux-3.6.5$ ldd /opt/arm/usr/bin/../libexec/gcc/arm-broadcom-linux-gnueabi/4.7.3/cc1
linux-gate.so.1 => (0xf7734000)
libmpc.so.3 => not found
libmpfr.so.4 => not found
libgmp.so.10 => not found
libdl.so.2 => /lib32/libdl.so.2 (0xf771d000)
libc.so.6 => /lib32/libc.so.6 (0xf75bb000)
/lib/ld-linux.so.2 (0xf7735000)
發現這幾個庫找不到,而在製作的機器上發現如下
基本確定與工具鏈的製作有關
嘗試將這幾個庫軟鏈接到/lib /usr/lib等目錄
export LD_LIBRARY_PATH="/usr/local/lib" ln -s /pathto/libmpc.so.2 /usr/local/lib sudo ldconfig