我正在尝试按照列出的说明在 Debian 11 虚拟机上在此git 存储库中重新编译 Libre Computer AML-S905X-CC 的引导加载程序。该构建在尝试构建 atf(Arm 可信固件)时抛出一些错误。这是该构建部分的输出:
username@debian11:~/libretech-builder-simple$ PATH=/home/username/libretech-builder-simple/gcc/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-elf/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games CROSS_COMPILE=aarch64-elf- make -C atf -j1 PLAT=gxl DEBUG=0 bl31
make: Entering directory '/home/username/libretech-builder-simple/atf'
CC bl31/bl31_context_mgmt.c
/home/username/libretech-builder-simple/gcc/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-elf/bin/aarch64-elf-gcc: 1: cannot open @@: No such file
/home/username/libretech-builder-simple/gcc/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-elf/bin/aarch64-elf-gcc: 2: Syntax error: ")" unexpected
make: *** [Makefile:1469: /home/username/libretech-builder-simple/atf/build/gxl/release/bl31/bl31_context_mgmt.o] Error 2
make: Leaving directory '/home/username/libretech-builder-simple/atf'
这些错误消息对我来说似乎很神秘。bl31/bl31_context_mgmt.c
任何地方都不包含“@@”。@@ 是什么,它来自哪里?
这似乎是由于工具链为 amd64(64 位操作系统)构建 aarch-64-elf-gcc,而我在 i386 虚拟机(32 位操作系统)上。切换到 64 位操作系统让我摆脱了错误。