|
发表于 2008-2-17 08:31:37
|
显示全部楼层
Post by 地球发动机;1816794
Ubuntu 64位原生Multilib LFS我正在研究。在工具链阶段,目前已知的问题包括:
1、Ubuntu 的Multilib配置和工具链默认配置不同。Multilib配置是指32位和64位库文件搜索位置。默认工具链的32bit库放在/lib下,64位则放在/lib64下。但Ubuntu则是/lib32和/lib。
2、以上问题造成一系列相关的配置问题。首先是binutils。Binutils会安装一些与二进制文件格式相关的库文件。大多数这样的库文件将使用默认配置,在64位编译的情况下会安装在/lib64目录下。但libiberty却自作聪明地通过宿主gcc(用于编译的gcc)获取安装目录。这样一来,libiberty在Ubuntu下将安装在/lib目录而不是/lib64目录下。
3、其次是gcc。gcc忽略所有宿主的配置,采用其默认设置来查找库文件位置。在第一次编译的时候这没有问题。但随后它将根据默认配置在/lib查找32位库文件。这在Ubuntu下将不会成功。
相信这些问题都可以解决,但作为新手,还是乖乖采用CLFS-Multilib比较稳妥。 昔日 地球 在 CLFS-1.0 还未推出之时已掌握其 64-bit Multilib 玩法,诚蒙启发,我才决心做 CLFS x86 Multilib,地球兄的新作必定期待,期待! |
|