根文件系统的交叉编译软件



我想为armhf架构交叉编译软件(libdrm-armada)。我有根文件系统(~/rootfs),它包含所需的共享对象。该文件系统将被闪存到eMMC上,并在自定义设备上运行。Libdrm-armada使用配置脚本来生成Makefile。当我运行./configure时,它会退出,因为它找不到共享对象。

--with-sysrootLD_LIBRARY_PATHLIBRARY_PATHLIBSPKG_CONFIG_LIBDIRLIBDRM_LIBS参数不起作用。

/configure--build=x86_64-linux--host=arm linux\
--prefix=~/test\
LDFLAGS=-L~/rootfs/usr/arm linux gneabihf\
2CFLAGS=-I~/rootfs/usr/include\
1CC=~/gcc-linaro-6.3-2017.02-x86_64_arm-linux-gneabiHF/bin/arm-linux-GNUbihf-gcc

我试图解决的错误在config.log中显示为:

...
configure:3269: /home/user/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -I/home/user/rootfs/usr/include  -L/home/user/rootfs/usr/lib/arm-linux-gnueabihf conftest.c  >&5
/home/user/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find /lib/arm-linux-gnueabihf/libc.so.6 
/home/user/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find /usr/lib/arm-linux-gnueabihf/libc_nonshared.a
/home/user/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.3.1/../../../../arm-linux-gnueabihf/bin/ld: cannot find /lib/arm-linux-gnueabihf/ld-linux-armhf.so.3
collect2: error: ld returned 1 exit status 
...

我应该如何正确编译软件并将其安装到~/rootfs中?

EDIT(感谢Basile!):
您可以通过查看git存储库来调查源代码。

git克隆git://git.armlinux.org.uk/~rmk/libdrm-armada.git/
cd libdrm armada/
mkdir m4;autoreconf-f-i
/configure--build=[..等等..]

请注意,配置脚本会生成Makefile。如果您运行/configure命令,错误存储在名为config.log的文件中。

我找到了问题的解决方案。我不得不将--sysroot标志添加到LDFLAGS参数中。

/configure--build=x86_64-linux--host=arm linux\
--prefix=~/test\
LDFLAGS='-L~/rootfs/usr/lib/arm linux gneabihf--sysroot=~/rootfs'\
2CFLAGS=-I~/rootfs/usr/include\
1CC=~/gcc-linaro-6.3-2017.02-x86_64_arm-linux-gneabiHF/bin/arm-linux-GNeabiHF-gcc

运行make&使安装结果成为~/test中的输出文件。共享对象为ARM类型:

/lib/libdrm_armada.so.0.2.0:ELF 32位LSB共享对象,ARM,EABI5版本1(SYSV),动态链接,BuildID[sha1]=3b571c90a174e5a2cbc2da9496f98278ebb1a560,未剥离

最新更新