我正在尝试重新编译 Libre Computer AML-S905X-CC 的引导加载程序git 仓库按照列出的说明,在 Debian 11 虚拟机上。当尝试构建 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
任何地方都不包含“@@”。 @@ 是什么?它来自哪里?
答案1
这似乎是由于为 amd64(64 位操作系统)构建 aarch-64-elf-gcc 的工具链所致,而我使用的是 i386 虚拟机(32 位操作系统)。切换到 64 位操作系统让我克服了这个错误。