我成功编译了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
谢谢
答案 0 :(得分:0)
您可能需要将您的arm架构(由uname -m显示)添加到/ usr / lib / rpm / rpmrc配置。
答案 1 :(得分:0)
在我的RHEL 7计算机上,/usr/lib/rpm/rpmrc
包含多个ARM变体:
armv3l
,armv4b
,armv4l
,armv4tl
,armv5tel
,armv5tejl
,armv6l
,armv7l
,{{ 1}},armv7hl
。我猜您的文件会有类似的选择,因此包含您选择的armv7hnl
选项。
我发现,对于跨包装,运行armv7l
是不够的。我还必须在构建命令周围使用rpmbuild --target _target_
包装器。