我正在尝试在x86系统上为MIPS构建OATH Toolkit。我想生成静态构建,因此它很可能适用于任何MIPS系统。
更准确地说,目标系统上支持的ISA是:mips1 mips2 mips32r1 mips32r2
根据我的理解,我需要准备一个工具链才能执行此操作并成功配置并构建buildroot所以现在我确实在~/buildroot-2016.08.1/output/target
我应该如何使用/激活buildroot来构建check oath-toolkit
代码?
注意:我没有被迫使用buildroot,所以我会考虑任何替代方案。
答案 0 :(得分:2)
只需使用适当的参数运行configure
脚本,即可将Buildroot编译器用作交叉编译器,并使用参数进行静态链接。
./configure --enable-static --disable-shared \
--target=mips-buildroot-linux-gnu --host=mips-buildroot-linux-gnu \
CC=$HOME/buildroot-2016.08.1/output/host/usr/bin/mips-linux-gcc
以上假设您使用的是glibc和big-endian MIPS。检查~/buildroot-2016.08.1/output/host/usr/mips*
的目录名,以获取--target
/ --host
选项的正确值,以及~/buildroot-2016.08.1/output/host/usr/bin
的内容,以获取CC=
选项的正确值
请注意,您必须选择" mips 32 "架构变体(BR2_mips_32
)与所有目标系统兼容。
另请注意,使用glibc时,您可能没有完全静态链接的可执行文件,因为它会尝试动态加载NSS库。这种情况例如是如果getaddrinfo
用于解析主机名。你需要使用uClibc或musl来避免这种情况。