如何在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,它可以帮助您设置所有的环境变量。 debuild是一个辅助工具,使用了dpkg-buildpackage
  1. 安装 dpkg-cross 软件包
  2. sudo apt install dpkg-cross build-essential
    
  3. 在编译之前设置交叉编译配置变量和辅助标志
  4. set CONFIG_SITE=/etc/dpkg-cross/cross-config.arm64
    set DEB_BUILD_OPTIONS=nocheck
    
  5. 尝试重新构建
如果它不起作用,尝试通过debuild传递dpkg-buildpackage的交叉编译选项。所有步骤都在Debian Wiki: Building with dpkg-buildpackage中有记录。 注意: 如果您正在构建自己的软件包,建议阅读如何使您的软件包适用于Debian交叉编译的指南:Guidelines for cross-build friendly packages