hxcan 发表于 2014-3-13 19:06:58

需要在magiclinux3.0的64位环境中运行一些32位程序

例如安卓sdk,它里面的程序是32位的,因此需要32位的glibc里的librt.so.1,但是现在仓库里glibc只有64位的。
不知道怎么样造出32位的glibc及一堆其它软件,是否是把src.rpm拿来加个参数重新打包就可以了?本座试过--target=i686-magic-linux,报告说编译器不被支持。

sejishikong 发表于 2014-3-13 22:41:54

添加32位的仓库就可以了。
我不知道haulm的仓库配置怎么写的。就是那个配置复制一份,把里面的x86_64改成i686就可以了。

hxcan 发表于 2014-3-14 08:03:35

好像他在发布iso的帖子里说过不支持32位。
等下试试。

hxcan 发表于 2014-3-14 09:51:35

去haulm在sourceforge上的magiclinux-plus项目里看了一下,确实只有x86_64的rpm包。

目前是从magiclinux2.6里复制出各个缺少的32位so文件过来,安卓SDK已经能正常运行了。

不知道直接把2.6的系统挂载了之后,把其中的/usr/lib目录加入到环境变量里是否可行,会不会引起什么问题。

haulm 发表于 2014-3-14 16:42:56

2.6 的32位库最好不要用在 3.0p 的身上,目前 64 位 mgc3.0p 是兼容 sejishikong 的 32 位仓库的,如果有用到开发环境注意一下 libgcc32 就是从 32 位仓库移植过来的库。
目前 64 位上我没精力去实现 32 位支持,比如 wine
这个库我没时间研究,你可以到里面找找看。
http://apt.linuxfans.org/magic/3.0/i686/
sejishikong 的 64 位仓库也许有可用的东西,但千万不要用来升级。

hxcan 发表于 2014-3-14 18:08:18

原帖由 haulm 于 2014-3-14 16:42 发表 http://forum.linuxfans.org/images/common/back.gif
2.6 的32位库最好不要用在 3.0p 的身上,目前 64 位 mgc3.0p 是兼容 sejishikong 的 32 位仓库的,如果有用到开发环境注意一下 libgcc32 就是从 32 位仓库移植过来的库。
目前 64 位上我没精力去实现 32 位支持,比如 wine ...

刚才试了一下这样混用,有冲突了:

依赖解析错误:

Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:

1. You have an upgrade for nss-softokn-freebl which is missing some
   dependency that another package requires. Yum is trying to
   solve this by installing an older version of nss-softokn-freebl of the
   different architecture. If you exclude the bad architecture
   yum will tell you what the root cause is (which package
   requires what). You can try redoing the upgrade with
   --exclude nss-softokn-freebl.otherarch ... this should give you an error
   message showing the root cause of the problem.

2. You have multiple architectures of nss-softokn-freebl installed, but
   yum can only see an upgrade for one of those architectures.
   If you don't want/need both architectures anymore then you
   can remove the one with the missing update and everything
   will work.

3. You have duplicate versions of nss-softokn-freebl installed already.
   You can use "yum check" to get yum show these errors.

...you can also use --setopt=protected_multilib=false to remove
this checking, however this is almost never the correct thing to
do as something else is very likely to go wrong (often causing
much more problems).

保护多库版本:nss-softokn-freebl-3.14.3-1mgc30.i686 != nss-softokn-freebl-3.15.2-1mgc30.x86_64

sejishikong 发表于 2014-3-15 22:21:10

这是因为同一个库的版本不一致,版本号一致就可以了。

haulm 发表于 2014-3-16 07:49:53

yum 会有很多复本错误提示的,能装就行,似乎 devel 包都会冲突,64 位上运行 32 位在我看来是很麻烦的事情。

sejishikong 发表于 2014-3-16 20:08:56

原帖由 haulm 于 2014-3-16 07:49 发表 http://forum.linuxfans.org/images/common/back.gif
yum 会有很多复本错误提示的,能装就行,似乎 devel 包都会冲突,64 位上运行 32 位在我看来是很麻烦的事情。
不不,同一版本的不会提示副本冲突的,部分devel包存在文件冲突,不是副本冲突。

hxcan 发表于 2014-3-17 09:06:03

那么现在该怎么搞呢?
由于nss-sofokn的这个错误,现在无法装上i686的glibc。

sejishikong 发表于 2014-3-18 22:16:08

原帖由 hxcan 于 2014-3-17 09:06 发表 http://forum.linuxfans.org/images/common/back.gif
那么现在该怎么搞呢?
由于nss-sofokn的这个错误,现在无法装上i686的glibc。
这个,如果你都用我的仓库,我可以让两个版本一致,不过现在我用的版本比haulm的高,所以如果不用我的仓库,只能自己编译一个同样版本的i686了。

hxcan 发表于 2014-3-19 09:35:09

明白了。

haulm 发表于 2014-3-27 13:14:17

nss-sofokn 自行编译到同版本即可,也可以把仓库全部定义成 se 的仓库。
页: [1]
查看完整版本: 需要在magiclinux3.0的64位环境中运行一些32位程序