你可能会想,32 位元库你直接装那些 lib32-balbalbal 不就行了嘛,这又有什么问题呢?

请醒一醒,朋友,Gentoo 是编译的.

这问题就来了,怎么拿到 32 位元的库呢?

Gentoo 有提供一些预编译的库,也就是 emul-linux-x86,但是这东西真的问题超多,那么怎么解决呢?

这里就要说 ABI 了,ABI 全称是 Application binary interface ,这是 Wikipedia.在 Gentoo 引入 ABI 作为 USE Flag 之后我们就可以通过指定 ABI 来构建多个架构的包.

以 zlib 为例,我们在 package.use 中加入他的 USE Flag.

#vim /etc/portage/package.use
>=sys-libs/zlib-1.2.8-r1 abi_x86_32

这样 Portage 就会安装 32 位元的 zlib 了,我们只需要 emerge zlib 即可.

同样,和 ACCEPT_KEYWORDS 一样, ABI 也是可以全局指定的,不过那个重构真的不好玩…

什么?你想指定?好吧,也是很简单的.

#vim /etc/portage/make.conf
ABI_X86="32 64"

这样你系统里面所有的东西都会有 32 和 64 两个位元的了…虽然我不明白这有什么意义.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.