跨建筑时buildrpm失败

时间:2014-12-06 21:58:31

标签: arm raspberry-pi cpu-architecture rpmbuild

我成功编译了Raspberry Pi(ARM架构)的c ++代码。

这样的二进制文件有一个文件命令返回以下内容:

usr / local / company / product / this:ELF 32位LSB可执行文件,ARM,EABI5版本1(SYSV),动态链接(使用共享库),用于GNU / Linux 2.6.26,BuildID [sha1] = 9fe73c254b317e239758e4445d12b8441a3cb13e,未剥离

我现在希望生成RPM包(不是.deb包,真正的.RPM包!)。 我尝试过很多--target和spec的文件构建组合,但没有取得多大成功。 试过armv7l,arm-linux-gnueabihf,arm-linux ......

rpmbuild返回相同的结果:

构建目标平台:arm-unknown-linux 为目标arm-unknown-linux构建 错误:找不到构建

的兼容体系结构

我是从x86_64 Ubuntu编译的。目标架构是arm-linux-gnueabihf。

我打电话给rpmbuild如下: rpmbuild -bb --target armv7l myfile.spec

谢谢

2 个答案:

答案 0 :(得分:0)

您可能需要将您的arm架构(由uname -m显示)添加到/ usr / lib / rpm / rpmrc配置。

答案 1 :(得分:0)

在我的RHEL 7计算机上,/usr/lib/rpm/rpmrc包含多个ARM变体: armv3larmv4barmv4larmv4tlarmv5telarmv5tejlarmv6larmv7l,{{ 1}},armv7hl。我猜您的文件会有类似的选择,因此包含您选择的armv7hnl选项。

我发现,对于跨包装,运行armv7l是不够的。我还必须在构建命令周围使用rpmbuild --target _target_包装器。