我成功地为Raspberry (ARM架构)编译了C++代码。
这样的二进制文件有一个file命令,返回以下内容:
usr/local/company/product/this: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=9fe73c254b317e239758e4445d12b8441a3cb13e, not stripped
我现在希望生成RPM包(不是.deb包,真正的.RPM包!)。
我尝试过许多--target和spec的文件buildarch组合,但没有成功。尝试armv7l,arm-linux-gnueabihf,arm-linux。
rpmbuild返回相同的结果:
Building target platforms: arm-unknown-linux
Building for target arm-unknown-linux
error: No compatible architectures found for build我正在从一个x86_64 Ubuntu编译。目标架构是arm gnueabihf。
我按如下方式调用rpmbuild:rpmbuild -bb --target armv7l myfile.spec
发布于 2016-11-15 14:27:36
在我的RHEL 7计算机上,/usr/lib/rpm/rpmrc包含几个ARM变体:armv3l、armv4b、armv4l、armv4tl、armv5tel、armv5tejl、armv6l、armv7l、armv7hl、armv7hnl。我想您的文件将有类似的选择,因此包括您选择的armv7l选项。
我发现,对于交叉打包,运行rpmbuild --target _target_是不够的。我还必须在build命令周围使用setarch _target_包装器。
发布于 2015-01-09 17:04:02
您可能需要将arm架构(由uname -m显示)添加到/usr/lib/rpm/rpmrc配置中。
发布于 2022-09-23 10:07:30
GOARCH=amd64或arm64使用了以下命令:
rpmbuild ... --define="GOARCH ${GOARCH}"规范文件应包括以下内容
%if %{GOARCH} == "amd64"
BuildArch: x86_64
%endif
%if %{GOARCH} == "arm64"
BuildArch: aarch64
%endifhttps://stackoverflow.com/questions/27337054
复制相似问题