我是靠谱客的博主 老实钢笔,最近开发中收集的这篇文章主要介绍更新升级系统lib库前言一:升级lib库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • 一:升级lib库
      • 1.1:参考文档
      • 1.2:升级原因
      • 1.3:升级解决
      • 1.4:重启服务并验证
      • 如有疑问可评论区交流!

前言

一:升级lib库

1.1:参考文档

  • https://www.jianshu.com/p/28a0c98027a8
  • https://blog.csdn.net/sinat_36008080/article/details/89604382

1.2:升级原因

  • 启动服务后,发现调用有问题,通过观察日志发现是lib库的问题,使用命令查看lib库

  • [root@test lib]# ls
    libdbc.so  libdbc.so.bak111
    [root@test lib]# ldd libdbc.so
    ldd: warning: you do not have execution permission for `./libdbc.so'
    ./libdbc.so: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./libdbc.so)
    ./libdbc.so: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./libdbc.so)
    ./libdbc.so: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./libdbc.so)
    ./libdbc.so: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./libdbc.so)
    	linux-vdso.so.1 =>  (0x00007ffc11be9000)
    	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbaf52ae000)
    	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbaf5098000)
    	libc.so.6 => /lib64/libc.so.6 (0x00007fbaf4ccb000)
    	libm.so.6 => /lib64/libm.so.6 (0x00007fbaf49c9000)
    	/lib64/ld-linux-x86-64.so.2 (0x00007fbaf55b6000)
    
  • 发现报错,缺少GLIBCXX_3.4.20版本的内容,使用命令查看是否缺少

  • [root@test ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_3.4.14
    GLIBCXX_3.4.15
    GLIBCXX_3.4.16
    GLIBCXX_3.4.17
    GLIBCXX_3.4.18
    GLIBCXX_3.4.19
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    [root@test ~]# ll  /usr/lib64/libstdc++.so.6	'//发现当前是链接到19版本的'
    lrwxrwxrwx. 1 root root 19 Jun 25  2018 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
    
  • 确实没有,需要升级解决

1.3:升级解决

  • 下载新版本库并解压

  • wget https://adbin.top/packages/lib64.tar.gz
    [root@test ~]# mkdir /usr/lib64_version_25
    [root@test ~]# tar zxf lib64.tar.gz -C /usr/lib64_version_25/
    
  • 移动并重新连接

  • cp /usr/lib64_version_25/lib64/libstdc++.so.6.0.25 /usr/lib64/
    ll  /usr/lib64/libstdc++.so.*
    
    [root@test ~]# ll  /usr/lib64/libstdc++.so.*
    lrwxrwxrwx  1 root root       30 Apr  1 11:42 /usr/lib64/libstdc++.so.6 -> /usr/lib64/libstdc++.so.6
    .0.19
    -rwxr-xr-x. 1 root root   995840 Apr 10  2018 /usr/lib64/libstdc++.so.6.0.19
    -rwxr-xr-x  1 root root 12129824 Apr  1 11:42 /usr/lib64/libstdc++.so.6.0.25
    [root@test ~]# 
    [root@test ~]# ln -sf /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6
    [root@test ~]# ll  /usr/lib64/libstdc++.so.*
    lrwxrwxrwx  1 root root       30 Apr  1 11:42 /usr/lib64/libstdc++.so.6 -> /usr/lib64/libstdc++.so.6
    .0.25
    -rwxr-xr-x. 1 root root   995840 Apr 10  2018 /usr/lib64/libstdc++.so.6.0.19
    -rwxr-xr-x  1 root root 12129824 Apr  1 11:42 /usr/lib64/libstdc++.so.6.0.25
    
  • 重新查看

  • strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
    [root@test lib]# ldd libdbc.so
    ldd: warning: you do not have execution permission for `./libdbc.so'
    	linux-vdso.so.1 =>  (0x00007ffd6b731000)
    	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fe1d927d000)
    	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe1d9067000)
    	libc.so.6 => /lib64/libc.so.6 (0x00007fe1d8c9a000)
    	libm.so.6 => /lib64/libm.so.6 (0x00007fe1d8998000)
    	/lib64/ld-linux-x86-64.so.2 (0x00007fe1d9600000)
    [root@test lib]# ldconfig
    

1.4:重启服务并验证

如有疑问可评论区交流!

最后

以上就是老实钢笔为你收集整理的更新升级系统lib库前言一:升级lib库的全部内容,希望文章能够帮你解决更新升级系统lib库前言一:升级lib库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部