【问题标题】:rpmbuild 32bit lib packages for x86-64适用于 x86-64 的 rpmbuild 32 位库包
【发布时间】:2010-11-08 00:20:11
【问题描述】:

我正在尝试使用 rpmbuild 构建 x86-64 包和 libs-32bit 包。
相同的 src rpm 用于构建两个输出包。
rpmbuild 制作 package-lib-32bit-X.x.x68_64.rpm 的参数是什么?

我目前这样做是为了获得 32 位软件包:
CC='gcc -m32' CXX='g++ -m32' linux32 rpmbuild -bb -target=i586 package.spec

当我需要 package-lib-32bit-X.x.x86_ 64.rpm 时,这给了我 package-lib-X.x.i586.rpm。
哪些参数会被添加到包名中并命名为 x86_64?

【问题讨论】:

  • 天真的解决方案:自己重命名 ;-)
  • 重命名 rpm 文件不会影响文件中的包名,以及它在 rpm 数据库中的显示方式。
  • 我不确定你为什么需要这样做 - 在大多数 (x86-64) Linux 发行版上,32 位包的名称类似于 package-xy-z.i686.rpm - 即架构是 i686,而不是 x86_64。
  • 我没有对发行版做过调查,但是在 opensuse 上,这个包是这样调用的。

标签: linux rpmbuild


【解决方案1】:

开放使用
安装“构建”rpm

CC='gcc -m32' CXX='g++ -m32' linux32 rpmbuild -bb --target=i586 package.spec
{
回显包
回声包开发
} > baselib.conf
/usr/lib/build/mkbaselibs -c /usr/lib/build/baselibs_global.conf -c baselib.conf /PATH_TO_ RPMS/.../i586/package*.rpm

[编辑后将目标参数上缺少的第二个破折号“--”添加到 rpmbuild]

【讨论】:

  • 至少在 RHEL 5 上,目标参数应该是 --target(注意额外的连字符)。
猜你喜欢
  • 2011-10-21
  • 2017-06-09
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多