对
2013/1/21 Easior Lars easior.lars@yahoo.com
让我猜一下这句话的意思: 要在x86_64中编译i386,只要把32位的库装全了,就能用--target选项编译出32位的程序。 不知道这样说对不对? On Jan 20, 2013, at 11:11 PM, Robin Lee robinlee.sysu@gmail.com wrote:
rpmbuild --target i686 ....
2013/1/20 Alick Zhao alick9188@gmail.com
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...
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/} 的目录中。
参考:
现在感觉我把话题带偏了……
-- alick Fedora 16 (Verne) user https://fedoraproject.org/wiki/User:Alick -- Fedora中文郵件列表:https://admin.fedoraproject.org/mailman/listinfo/chinese
-- Fedora中文郵件列表:https://admin.fedoraproject.org/mailman/listinfo/chinese
Cheers,
Easior Lars
easior.lars@yahoo.com www.shlug.org
-- Fedora中文郵件列表:https://admin.fedoraproject.org/mailman/listinfo/chinese