This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-AM64B:处理器 SDK Linux§3.2.1 AArch64-OE-LINUX-gcc 的步骤:未找到会导致故障

Guru**** 2555630 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1418954/sk-am64b-steps-for-processor-sdk-linux-3-2-1-aarch64-oe-linux-gcc-not-found-results-in-failures

器件型号:SK-AM64B

工具与软件:

在执行3.2.1.3.1中的步骤时、SDK_INSTALL_DIR 的定义/位置似乎缺失/未定义。

james@james-virtual-machine:~/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32+git-ti$ sudo apt install git xz-utils build-essential flex bison bc libssl-dev libncurses-dev
[sudo] password for james: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
bc is already the newest version (1.07.1-3build1).
bison is already the newest version (2:3.8.2+dfsg-1build1).
build-essential is already the newest version (12.9ubuntu3).
flex is already the newest version (2.6.4-8build2).
xz-utils is already the newest version (5.2.5-2ubuntu1).
git is already the newest version (1:2.34.1-1ubuntu1.11).
libncurses-dev is already the newest version (6.3-2ubuntu0.1).
libssl-dev is already the newest version (3.0.2-0ubuntu1.18).
0 upgraded, 0 newly installed, 0 to remove and 25 not upgraded.
james@james-virtual-machine:~/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32+git-ti$ ls
arch        certs    crypto         fitImage-its-am64xx-evm  init      Kbuild   lib        MAINTAINERS  modules.builtin          Module.symvers  README   scripts   System.map  virt       vmlinux.o
block       COPYING  Documentation  fs                       io_uring  Kconfig  LICENSES   Makefile     modules.builtin.modinfo  net             rust     security  tools       vmlinux    vmlinux.symvers
built-in.a  CREDITS  drivers        include                  ipc       kernel   linux.bin  mm           modules.order            patches         samples  sound     usr         vmlinux.a
james@james-virtual-machine:~/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32+git-ti$ export CROSS_COMPILE_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-"
james@james-virtual-machine:~/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32+git-ti$ export SYSROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux"
james@james-virtual-machine:~/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32+git-ti$ export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
james@james-virtual-machine:~/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32+git-ti$ export CROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"
james@james-virtual-machine:~/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32+git-ti$ make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" distclean
  CLEAN   arch/arm64/boot
  CLEAN   arch/arm64/crypto
  CLEAN   arch/arm64/kernel/pi
  CLEAN   arch/arm64/kernel/vdso
  CLEAN   arch/arm64/kernel
  CLEAN   certs
  CLEAN   drivers/firmware/efi/libstub
  CLEAN   drivers/scsi
  CLEAN   drivers/tty/vt
  CLEAN   drivers/video/logo
  CLEAN   init
  CLEAN   kernel
  CLEAN   lib/raid6
  CLEAN   lib
  CLEAN   net/wireless
  CLEAN   usr
  CLEAN   .
/bin/sh: 1: /linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-gcc: not found
/bin/sh: 1: /linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-gcc: not found
  CLEAN   vmlinux.symvers modules.builtin modules.builtin.modinfo .vmlinux.export.c
  CLEAN   scripts/basic
  CLEAN   scripts/dtc
  CLEAN   scripts/kconfig
  CLEAN   scripts/mod
  CLEAN   scripts
  CLEAN   include/config include/generated arch/arm64/include/generated .config .config.old .version Module.symvers

快速操作

Grep -Rnw ' '-e 'SDK_INSTALL_DIR'

会产生3个命中点、其中一个是定义

/home/james/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/linux-devkit/sysroots/x86_64-arago-linux/usr/share/cmake/SDKToolchainConfig.cmake.template:1:set(SDK_INSTALL_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../../..")
/home/james/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/linux-devkit/sysroots/x86_64-arago-linux/usr/share/cmake/SDKToolchainConfig.cmake.template:2:set(HOST_SYSROOT    "${SDK_INSTALL_DIR}/sysroots/@OECORE_SDK_SYS")
/home/james/ti-processor-sdk-linux-am64xx-evm-10.00.07.04/linux-devkit/sysroots/x86_64-arago-linux/usr/share/cmake/SDKToolchainConfig.cmake.template:3:set(TARGET_SYSROOT  "${SDK_INSTALL_DIR}/sysroots/@OECORE_TARGET_SYS")

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对 SDK_INSTALL_DIR 进行导出、然后重新执行初始导出即可解决这个问题

    添加了示例

    export SDK_INSTALL_DIR="/home/james/ti-processor-sdk-linux-am64xx-evm-10.00.07.04"
    export CROSS_COMPILE_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-"
    export SYSROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux"
    export CC_64="${CROSS_COMPILE_64}gcc --sysroot=${SYSROOT_64}"
    export CROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"
    

    我想、SDK_INSTALL_DIR 是可能是通过运行我以某种方式遗漏的另一个脚本或二进制来设置的。