参考:
问题
参考上面的文章,遇到了几个问题。
make install
报错,虽然可以忽略,glibc 也成功升级。
- 系统语系和编码异常,导致中文显示乱码和程序编码异常。
- 默认的
ldd
命令还是旧的 glibc 版本。
make install
异常。
1
2
3
4
5
6
|
# /usr/bin/ld: cannot find -lnss_test2
# 需要修改 scripts/test-installation.pl 文件
# 参数也发生变化
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --enable-obsolete-nsl
|
系统语系和编码异常,这个问题找了好久才解决。
1
2
3
4
5
6
7
8
|
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
# 需要更新 locale 相关文件
cd build
make localedata/install-locales
# 它会更新 /usr/lib/locale/locale-archive 这个文件,之后就正常了。
|
默认的 ldd
命令还是识别的旧的 glibc 2.17 版本,因此需要替换下 ldd 命令。
1
2
3
4
5
6
7
8
9
10
11
|
# 找到新的 ldd
find / -name ldd
# 我的
ls /opt/glibc-2.28/build/elf/ldd
# 备份旧的
cp /usr/bin/ldd{,-2.17}
# 复制新的
cp /opt/glibc-2.28/build/elf/ldd /usr/bin/ldd
chmod +x /usr/bin/ldd
|