[FZH] 安装了x86_64的Fedora,能用来制作x86的rpm包嘛?

Alick Zhao alick9188 at gmail.com
Sun Jan 20 13:43:34 UTC 2013


On Sun, 20 Jan 2013 20:08:26 +0800, Easior Lars wrote:
> 
> On Jan 20, 2013, at 3:30 PM, Alick Zhao <alick9188在gmail.com> wrote:
> 
>> On Sun, 20 Jan 2013 13:33:58 +0800, Easior Lars wrote:
>>> 不明就里啊?
>>> 搞不清楚状况,
>>> 32位、64位的装在一起,
>>> 普通的gcc编译,
>>> 例如编译个helloworld,
>>> 到底怎么区分是哪个arch编出来的?
>>>

对于这一个特定问题,参考 SO 上的回答,说的比较清楚了,还有例子:
http://stackoverflow.com/questions/1272357/how-to-compile-a-32-bit-binary-on-a-64-bit-linux-machine-with-gcc-cmake

>>
>> Linux 实现了这个机制,叫 multi-arch,不妨上网搜一搜。
>> 对普通用户/开发者来说,只要把相应的库/软件包安装齐全就好了。
> 
> 兄台能否帮我搜个与此相关的文档?
> 我搜到的基本与Fedora无关,云里雾里。
> 

嗯,我也觉得我没有理解它 :(

Fedora 中现在的实现简单讲就是把 32 位库放在 {/,/usr/,/usr/local/}lib
下,64 位库放在 {/,/usr/,/usr/local/}lib64 下。这样两种库就可以同时安装
在系统上了。这样,在 64 位系统上,32 位应用可以找到依赖的库,正常运行。
这也是现在的 FHS 给的意见。

Debian 眼中的 multiarch 应该更强大一些,应该能支持各种架构的库同时安装。
(更长远的目标时,各种架构的二进制文件都可以同时安装并运行。)
Debian 把 Fedora 中采用的方法称作 biarch 之类,并没有采用。而是另外提出
了实现方案。它的库文件存放在类似 /usr/lib/{x86_64-linux-gnu/,i376-linux-
gnu/} 的目录中。

参考:
* http://lwn.net/Articles/482952/
* http://wiki.debian.org/Multiarch

现在感觉我把话题带偏了……

-- 
alick
Fedora 16 (Verne) user
https://fedoraproject.org/wiki/User:Alick


More information about the Chinese mailing list