Scrt1.o:交叉编译mesa3d lib中通用ELFEM:62问题中的重定位

问题描述

我正在尝试使用 Meson 和 ninja for imx8(nitrogen 8) 交叉编译 mesa3D(20.0.8) 库。我使用 ubuntu 20.04 作为构建机器。我得到了 aarch64-poky-linux-gcc 无法编译程序错误。我正在共享介子日志文件和交叉文件

介子日志.txt:

Build started at 2021-07-20T11:47:51.224602
Main binary: /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/python3
Python system: Linux
The Meson build system
Version: 0.51.2
Source dir: /mnt/Workspace/mesa-20.0.8_arm
Build dir: /mnt/Workspace/mesa-20.0.8_arm/builddir
Build type: cross build
Program python found: NO
Program python2 found: YES (/usr/bin/python2)
Running command: /usr/bin/python2 bin/meson_get_version.py
--- stdout ---
20.0.8
--- stderr ---


Project name: mesa
Project version: 20.0.8
Appending CFLAGS from environment: ' -O2 -pipe -g -feliminate-unused-debug-types '
Appending LDFLAGS from environment: '-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed'
No CPPFLAGS in the environment,not changing global flags.
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc -O2 -pipe -g -feliminate-unused-debug-types -Wl,--as-needed -pipe -D_FILE_OFFSET_BITS=64 /mnt/Workspace/mesa-20.0.8_arm/builddir/meson-private/sanitycheckc.c -o /mnt/Workspace/mesa-20.0.8_arm/builddir/meson-private/sanitycheckc.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /mnt/Workspace/mesa-20.0.8_arm/builddir/meson-private/sanitycheckc.exe
C compiler for the build machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
Appending CXXFLAGS from environment: ' -O2 -pipe -g -feliminate-unused-debug-types '
Appending LDFLAGS from environment: '-Wl,not changing global flags.
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ -O2 -pipe -g -feliminate-unused-debug-types -Wl,--as-needed -pipe -D_FILE_OFFSET_BITS=64 /mnt/Workspace/mesa-20.0.8_arm/builddir/meson-private/sanitycheckcpp.cc -o /mnt/Workspace/mesa-20.0.8_arm/builddir/meson-private/sanitycheckcpp.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /mnt/Workspace/mesa-20.0.8_arm/builddir/meson-private/sanitycheckcpp.exe
C++ compiler for the build machine: c++ (gcc 9.3.0 "c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0")
Sanity testing C compiler: /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc
Is cross compiler: True.
Sanity check compiler command line: /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc --sysroot=/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux -B /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux -Wl,--as-needed -pipe -D_FILE_OFFSET_BITS=64 /mnt/Workspace/mesa-20.0.8_arm/builddir/meson-private/sanitycheckc.c -o /mnt/Workspace/mesa-20.0.8_arm/builddir/meson-private/sanitycheckc_cross.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:
/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/9.2.0/ld: /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/lib/Scrt1.o: Relocations in generic ELF (EM: 62)
/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/9.2.0/ld: /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/lib/Scrt1.o: Relocations in generic ELF (EM: 62)
/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/9.2.0/ld: /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/lib/Scrt1.o: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status

-----

meson.build:21:0: ERROR: Compiler /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc can not compile programs.

交叉文件.txt:

[binaries]
c = '/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc'
cpp = '/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++'
ar = '/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ar'
strip = '/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-strip'
pkgconfig = '/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/pkg-config'
exe_wrapper = '/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64'

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

[build_machine]
system = 'linux'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'

[properties]
sys_root = "/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux"
c_args = ['--sysroot=/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux','-B /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux']
cpp_args = ['--sysroot=/opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux','-B /opt/b2qt/3.0.2/sysroots/x86_64-pokysdk-linux']

环境变量和库路径已经处理好了。任何人都可以建议我解决这个问题。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...