You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何解决Ubuntu 16.04安装libstdc++.so.6.0.9后的未满足依赖问题?

解决Ubuntu 16.04中libstdc++6依赖不匹配的问题

我之前也碰到过类似的系统包依赖版本冲突问题,给你几个逐步排查的解决方法:

方法一:手动升级gcc-5-base到指定版本

错误提示明确指出libstdc++6需要gcc-5-base=5.4.0-6ubuntu1~16.04.9,但当前安装的是旧版本,我们可以直接指定版本安装:

  1. 先更新源列表确保能找到目标版本:
    sudo apt-get update
    
  2. 安装指定版本的gcc-5-base:
    sudo apt-get install gcc-5-base=5.4.0-6ubuntu1~16.04.9
    
  3. 完成后再运行依赖修复命令:
    sudo apt-get -f install
    
  4. 最后尝试重新升级:
    sudo apt-get upgrade
    

方法二:移除手动安装的libstdc++.so.6.0.9并恢复系统默认库

如果手动安装的高版本libstdc++库干扰了系统包管理,需要先清理手动安装的文件:

  1. 找到你手动放置libstdc++.so.6.0.9的位置(通常是/usr/local/lib或自定义目录),执行删除:
    sudo rm /usr/local/lib/libstdc++.so.6.0.9
    
  2. 恢复系统默认的libstdc软链接(Ubuntu 16.04默认的libstdc6版本是6.0.21,先确认路径存在):
    ls /usr/lib/x86_64-linux-gnu/libstdc++.so.*
    
    确认后重新建立软链接:
    sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    
  3. 重新安装系统的libstdc++6包:
    sudo apt-get install --reinstall libstdc++6
    
  4. 再次运行依赖修复和升级:
    sudo apt-get -f install
    sudo apt-get upgrade
    

问题原因说明

你手动安装libstdc++.so.6.0.9后,系统包管理工具apt检测到libstdc++6包的依赖项(gcc-5-base)版本不匹配——系统期望的是和libstdc++6配套的补丁版本,但当前安装的gcc-5-base是旧版,从而触发了依赖错误。

内容的提问来源于stack exchange,提问作者Asad Iftikhar

火山引擎 最新活动