升级到=安装sys-libs / uClibc的-NG-1.0.22

标题:升级到=安装sys-libs / uClibc的-NG-1.0.22
作者简介:安东尼克BASILE 
内容类型:文本/无格式
发布:2017年2月10日
修订:1
新闻条目格式:1.0
显示,如果安装的:SYS-库/ uClibc的-NG
显示如果瞩目:缺省的/ LINUX / uClibc的/ AMD64
显示如果轮廓:硬化/ LINUX / uClibc的/ AMD64
显示如果轮廓:默认/ LINUX / uClibc的/臂/ armv7a
显示如果轮廓:硬化/ LINUX / uClibc的/臂/ armv7a
显示如果瞩目:缺省的/ LINUX / uClibc的/ MIPS
显示如果轮廓:硬化/ LINUX / uClibc的/ MIPS
显示如果瞩目:缺省的/ LINUX / uClibc的/ MIPS / mipsel体系
显示如果轮廓:硬化/ LINUX / uClibc的/ MIPS / mipsel体系
显示如果瞩目:缺省的/ LINUX / uClibc的/ PPC
显示如果轮廓:硬化/ LINUX / uClibc的/ PPC
显示如果瞩目:缺省的/ LINUX / uClibc的/ 86
显示如果轮廓:硬化/ LINUX / uClibc的/ 86

已经出现了uClibc的-NG两大变化,这需要特殊
升级时注意。版本1.0.19重组爆发
图书馆,libcrypt.so.0,libdl.so.0,和朋友。在功能
现在这些库都包含在libuclibc-0.1.0.19.so。版
1.0.21及以上除去obstack libc的支持,希望包
用他们的捆绑GNU LIB代码。这两个变化需要特殊升级
我们将在下面概括的程序: 

0,因为在以前的版本库中的结构变化,
请确保您使用1.0.19工作,并利用重建世界

    出现-e @world

这将确保所有的可执行文件直接链接反对libc.so.0
(所报告的`readelf -d`),而不是通过像libdl.so.0符号链接
-> libc.so.0.  该n upgrade from 1.0.19 to 1.0.20 without symlink-compat:

    使用= “ - 符号链接-compat的” 浮现=安装sys-libs / uClibc的-NG-1.0.20

1.摆脱obstack.h头的,因为它使用的配置脚本
寻找函数原型和宏。

    MV /usr/include/obstack.h〜

2.我们还需要强制使用任何捆绑的GNU LIB代码。我们可以做的
这通过从除去_gnu_obstack_interface_version的定义
GNU-version.h中

    CP /usr/include/gnu-versions.h〜
    SED -i -e '/#限定_gnu_obstack / d' /usr/include/gnu-versions.h

3.我们需要告诉stdio.h中说__uclibc_has_obstack__是假的。我们的确是
这种通过uclibc_config.h文件。

    CP /usr/include/bits/uclibc_config.h〜
    SED -i -e '/ __ uclibc_has_obstack __ /秒/ 1/0 /' \
     /usr/include/bits/uclibc_config.h

4.为了安全起见,你可能想备份整个/ lib目录等等
你可以依傍的东西应该出问题:

    CP -a / lib目录/lib.bak

5.现在,当我们重建@world,所有的软件包将其捆绑
obstack代码,而不是依赖于libc中提供它。

    ac_cv_func_obstack_vprintf =没有出现--keep持续--exclude \
     安装sys-libs / uClibc的-NG -e @world

6.最后更新uClibc的-ng到最新

    出现= SYS-库/ uClibc的-NG-1.0.22

7.良好的措施,重建整个系统

    出现-e @world