Gcc 在fedora 31上交叉编译时未找到crt1.o

Gcc 在fedora 31上交叉编译时未找到crt1.o,gcc,cross-compiling,meson-build,Gcc,Cross Compiling,Meson Build,我正在为我的覆盆子pi4编译mesa3d。但是我在运行介子构建时遇到了一些错误 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: f41392cec8f12086b93952027a77c114 COMPILER_PATH=/usr/libexec/gcc/aarch64-linux-gnu/9/:/usr/libexec/gcc/aar

我正在为我的覆盆子pi4编译mesa3d。但是我在运行介子构建时遇到了一些错误

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: f41392cec8f12086b93952027a77c114
COMPILER_PATH=/usr/libexec/gcc/aarch64-linux-gnu/9/:/usr/libexec/gcc/aarch64-linux-gnu/9/:/usr/libexec/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/:/usr/lib/gcc/aarch64-linux-gnu/:/usr/lib/gcc/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/
LIBRARY_PATH=/usr/lib/gcc/aarch64-linux-gnu/9/
COLLECT_GCC_OPTIONS='-o' '/mesa/build/meson-private/sanitycheckc_cross.exe' '-L/usr/lib' '-pipe' '-D' '_FILE_OFFSET_BITS=64' '-v' '-mlittle-endian' '-mabi=lp64' /usr/libexec/gcc/aarch64-linux-gnu/9/collect2 -plugin /usr/libexec/gcc/aarch64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/aarch64-linux-gnu/9/lto-wrapper-plugin-opt=-fresolution=/tmp/ccvgsZVl.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/usr/aarch64-linux-gnu/sys-root --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -dynamic-linker /lib/ld-linux-aarch64.so.1 -X -EL -maarch64linux -o /mesa/build/meson-private/sanitycheckc_cross.exe crt1.o crti.o /usr/lib/gcc/aarch64-linux-gnu/9/crtbegin.o -L/usr/lib -L/usr/lib/gcc/aarch64-linux-gnu/9 /tmp/ccybbKgk.o -lgcc -lc -lgcc /usr/lib/gcc/aarch6
4-linux-gnu/9/crtend.o crtn.o
/usr/bin/aarch64-linux-gnu-ld: cannot find crt1.o: No such file or directory
/usr/bin/aarch64-linux-gnu-ld: cannot find crti.o: No such file or directory
/usr/bin/aarch64-linux-gnu-ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/bin/aarch64-linux-gnu-ld: cannot find -lc
/usr/bin/aarch64-linux-gnu-ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
我已经安装了glibc-devel.i686,其中包括crt1.o crti.o和crtn.o。我可以在/usr/lib中找到它们

我试图设置LIBRARY_PATH并使用-L/usr/lib,但似乎不起作用

我的交叉配置是:

[binaries]
c = '/usr/bin/aarch64-linux-gnu-gcc'
cpp = '/usr/bin/aarch64-linux-gnu-g++'
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
strip = '/usr/bin/aarch64-linux-gnu-strip'
pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'
exe_wrapper = '/usr/bin/qemu-aarch64-static'
[properties]
c_args=['-L/usr/lib']
c++_args=['-L/usr/lib']
c_link_args = ['-L/usr/lib','--verbose' ]
c++_link_args = ['-L/usr/lib','--verbose']

[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'aarch64'
endian = 'little'

我怎样才能解决这个问题?谁来帮忙。谢谢

覆盆子Pi4基于ARM Cortex-A72,因此您需要适当的交叉工具并指定正确的cpu,因此这是最低要求:

[binaries]
c = '/usr/lib/ccache/arm-linux-gnueabihf-gcc'
cpp = '/usr/lib/ccache/arm-linux-gnueabihf-g++'
ar = '/usr/bin/arm-linux-gnueabihf-ar'
strip = '/usr/bin/arm-linux-gnueabihf-strip'
pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'

[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'armv7hl'
endian = 'little'
查看详细信息