Debian交叉打包时如何设置CC环境变量

Debian交叉打包时如何设置CC环境变量

我正在尝试在我的 AMD64 Ubuntu 操作系统上为 ARM64 平台构建一个 debian 软件包。我执行以下命令

debuild -us -uc --host-arch arm64

但收到警告

dpkg-architecture: warning: specified GNU system type aarch64-linux-gnu does not match CC system type x86_64-linux-gnu, try setting a correct CC environment variable

因此想知道如何设置 CC 环境变量,正如警告所建议的那样。对于我的目标操作系统,我通常会使用

/opt/l4t-gcc-toolchain-64-bit-32.1/install/bin/aarch64-linux-gnu-gcc

谢谢。

答案1

我不确定从长远来看缺少什么,因为 OP 没有提到有关目标包的任何信息,也不知道我这边是否有解决方案。很高兴听到您对类似案例的反馈。

该消息是关于 C 编译器 (CC) 环境变量不适用于所请求的目标体系结构。尝试一下,dpkg-cross这可能会帮助您设置所有 ENV 变量。

debuild是一个使用dpkg-buildpackage

  1. 安装dpkg-cross

    sudo apt install dpkg-cross build-essential
    
  2. 在构建之前设置交叉编译配置变量和帮助标志

    set CONFIG_SITE=/etc/dpkg-cross/cross-config.arm64
    set DEB_BUILD_OPTIONS=nocheck
    
  3. 尝试再次构建

如果不起作用,请尝试通过debuild的交叉编译选项dpkg-buildpackage。所有步骤记录在Debian Wiki:使用 dpkg-buildpackage 进行构建

笔记:

如果你正在构建自己的软件包,最好阅读如何使你的软件包 Debian 交叉编译友好:交叉构建友好包指南

相关内容