首页 > 系统相关 >【Linux Ops】如何替换 libstdc++ 提升 GLIBCXX 版本

【Linux Ops】如何替换 libstdc++ 提升 GLIBCXX 版本

时间:2024-11-20 16:08:32浏览次数:1  
标签:GLIBCXX libstd Ops gcc c++ usr so.6 lib64

【环境】kos5.8sp2, kernel5.10

还是上一篇提到的那个软件环境,其依赖的 GLIBCXX 版本较高,因此在安装时给出了以下错误:

xxx: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by xxx)

执行 strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX,查看当前环境中的 GLIBCXX,发现确实没有

示例:

思路一:

可以先查一下系统中有没有现成的 libstdc++.so.6.xx (6.0.29 及以上),如果有的话,直接重新将 /usr/lib64/libstdc++.so.6 链接过去。

网上有很多教程步骤,这里不再赘述。

思路二

如果思路一中并没有找到合适的 so,那么建议更新 gcc 的版本。这里仅仅下载 gcc 高版本是不行的,需要重新编译。

1)下载新版本 gcc

wget https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz
tar -zxvf gcc-12.2.0.tar.gz
cd gcc-12.2.0/

2)安装相关依赖

./contrib/download_prerequisites

输出类似如下信息即为成功:

[terark@3afe42f77751 gcc-12.2.0]$ ./contrib/download_prerequisites
gmp-6.2.1.tar.bz2: OK
mpfr-4.1.0.tar.bz2: OK
mpc-1.2.1.tar.gz: OK
isl-0.24.tar.bz2: OK
All prerequisites downloaded successfully.

这里可能会遇到的问题:
./contrib/download_prerequisites: line 261: bzip2: command not found

解决方法:
sudo yum install -y bzip2

3)开始编译

mkdir build && cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j50
make install

这里如果编译不过,看情况,可能需要切换高版本 gcc 环境。

如果需要切换高版本环境,建议直接安装 gcc-toolset-11/12,然后使用 scl 工具切换。

scl enable gcc-toolset-12 bash

编译通过后,记得退出 scl 环境:

exit

到这里,GCC 的安装就结束了,我们可以通过 gcc -v 检查版本:

4)更新软链接

可以查看 /usr/lib64/libstdc++.so.6 的软链接

ll /usr/lib64/libstdc++.so.6

找到我们安装后的 libstdc++.so 位置:

find /usr -name libstdc++.so*

更新链接:

unlink /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.30 /usr/lib64/libstdc++.so.6

标签:GLIBCXX,libstd,Ops,gcc,c++,usr,so.6,lib64
From: https://www.cnblogs.com/lianyihong/p/18558445

相关文章

  • 【Linux Ops】如何无痛升级 glibc
    【环境】kos5.8sp2,kernel5.10最近工作中需要搭建一个软件环境,其依赖的glibc版本较高,因此在安装时给出了以下错误:xxx:/lib64/libc.so.6:version'GLIBC_2.33'notfound(requiredbyxxx)去查看当前机器的libc.so支持的GLIBC版本,发现确实太低了:strings/usr/lib64/......
  • Solid 之旅 —— 为什么 props 被解构后会导致响应式丢失
    在前面的文章中,我们学习了Solid的响应式原理,深入了了解其实现方式。Solid之旅——Signal响应式原理这篇文章将主要深入解析组件内部props的原理,为什么结构后会导致响应式丢失?案例我们以一个例子作为参考,由浅入深的讲解其中的奥秘。Parent.tsximport{createS......
  • Ubuntu 显示管理器(Display Manager)、桌面环境 (Desktops Environment)
    显示管理器(DisplayManager),可以认为是登陆页面。在你输入用户名和密码后,立即启动显示服务器并加载桌面环境。桌面环境(DesktopsEnvironment),一个较完整的图形操作界面,提供启动程序的入口,否则只能使用命令行进行交互。常见的显示管理器:lightdm、gdm3、kdm、sddm常见的桌面环境:GN......
  • 搭建fast-whisper 环境时报错 Unable to load any of {libcudnn_ops.so.9.1.0, libcud
    fast-whisper官网地址:https://github.com/SYSTRAN/faster-whisper搭建环境时,按照官方的创建环境要求执行的使用condacreate-nfast_whisperpython=3.9创建虚拟环境执行pipinstallfaster-whisper安装库pipinstallnvidia-cublas-cu12nvidia-cudnn-cu12==8.*降低nump......
  • 线性规划-JobShopSchedulingLP
    usingSystem;usingGoogle.OrTools.LinearSolver;namespaceJobShopScheduingProblem{///<summary>///线性规划(LinearProgramming)///</summary>publicclassJobShopSchedulingLP{publicstaticvoidSolve()......
  • LLMOps Essentials: A Practical Guide to Operationalizing Large Language Models
    LLMOpsEssentials:APracticalGuidetoOperationalizingLargeLanguageModelshttps://www.datacamp.com/blog/llmops-essentials-guide-to-operationalizing-large-language-models Whenwe,asusers,interactwithChatGPT,wesimplytypeapromptintothewe......
  • ffmpeg Synopsis
    1Synopsisffmpeg[global_options]{[input_file_options]-iinput_url}...{[output_file_options]output_url}...2Descriptionffmpegisauniversalmediaconverter.Itcanreadawidevarietyofinputs-includinglivegrabbing/recordingdevices-filter,......
  • DevOps业务价值流:版本规划的最佳实践
    初入公司,面对瀑布研发模式下的冗长周期与频繁返工,我率先尝试局部敏捷迭代,但成效有限。随后,推动全面敏捷化,从需求阶段即开始规划,虽方向正确,却遭遇版本规划难题。项目经理与产品经理对敏捷理解不深,导致项目频繁延期。为此,我构建详尽版本发布规划流程,亲自带领团队实施,历经半年试运......
  • vue-props配置
    原文链接:vue-props配置–每天进步一点点1.props作用props主要用于组件实例对象之间传递参数,比如我们前面创建的student组件,我们在组件中让他显示一些信息,比如下面这样:Student组件如下:1234567891011121314151617181920<template>  <div> ......
  • Seinfeld Netflix Episode, Title, Duration, Synopsis
    https://www.netflix.com/hk-en/title/70153373 Episode1ofSeason1========1.Seinfeld======23m========AwomanJerrymetinMichiganfliesintoNewYorkandaskstostaywithhim,buthe'sunsureifit'sintendedtobearomanticsituation.Epi......