centos安装libstdc,centos7.6安装教程
其实centos安装libstdc的问题并不复杂,但是又很多的朋友都不太了解centos7.6安装教程,因此呢,今天小编就来为大家分享centos安装libstdc的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
Centos更新lib库[踩坑记录]
在搭建Centos7 64位服务器环境时,遇到两个主要问题:/lib/libstdc++.so.6与ImportError:/lib64/libc.so.6,均与lib库版本不匹配有关。本文详细记录了解决过程,避免同类问题。
问题一涉及libstdc++.so.6缺少对应的GLIBCXX版本。通过命令查看,缺失内容为GLIBCXX_3.4.20。解决步骤包括下载对应版本libstdc++.so.6.0.24,并确保根据系统架构(64位或32位)正确升级库。初次尝试时,容易忽视系统架构导致升级失败。为避免64位与32位版本不匹配的问题,应使用正确的后缀(如.x86_64)进行安装。
问题二与libc.so.6版本不匹配有关。通过命令查看libc版本,确认已安装glibc_2.18,问题解决步骤包括进行编译安装。在编译过程中可能出现LD_LIBRARY_PATH相关问题,解决方法是删除该变量内容,确保编译安装顺利完成后添加。
为加速pip安装其他包,建议使用国内镜像源(如豆瓣)。
解决这两个问题后,Centos7 64位服务器搭建环境顺利完成,避免了因lib库版本不匹配导致的问题。通过记录和分享这些步骤,希望对遇到类似问题的开发者提供帮助。
centos7怎么编译安装gcc-c++
方法/步骤
1
yum install glibc-static libstdc++-static-y
安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)
2
下载解压gcc,我的gcc目录是gcc-4.8.0
3
进入gcc目录,执行:
./contrib/download_prerequisites
这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。
4
你以为这三个库自动下载了、自动make install了就没事了吗?错!
很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。
它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。
大致做法为:
1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。
2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径
3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。
5
建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。
我是在gcc-4.8.0下建立了一个名为gcc-build-4.8.0的目录,进入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc编译选项
6
强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。
比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。
网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。
调用gcc-4.8.0目录下的configure文件:
例如:
../configure--enable-checking=release--enable-languages=c,c++--disable-multilib
7
执行
../make#不解释
执行编译命令(#在8核的虚拟机上进行编译,每个核分配2个编译任务)
make-j16
make install编译过程CPU核基本100%占用,整个编译用时11分50秒。
检查gcc版本
#你就等吧少年,建议晚上睡觉前做
当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,baidu、google一下为什么。
如果你求稳的话,可以在make install之前先make check一下。
解决CentOS下nvidia-smi报错问题
在CentOS系统中,如果遇到nvidia-smi报错,可能是由于driver API和runtime API的CUDA版本不匹配。通常,CUDA Toolkit包含了GPU加速库、调试工具和优化器等,用于部署应用程序。当你电脑安装了PyTorch但未安装CUDA,实际上可以使用GPU,可能是因为系统中使用的GPU驱动并非来自CUDA Toolkit,而是单独安装的。
要解决这个问题,首先需要确认显卡驱动的内核版本,比如内核模块Kernel Module为450.80.02,对应系统内核为Red Hat 4.8.5-39。推荐从NVIDIA官网下载与内核和CUDA版本相匹配的驱动。如果已安装了错误版本的驱动,可以尝试卸载它,比如CUDA 515.65.01与450.80.02不兼容。
在操作时,可能会看到类似这样的输出:系统正在检查依赖关系,安装新的libstdc++-devel版本以支持gcc-c++的升级。这个过程可能需要下载和安装额外的软件包,比如gcc-c++-4.8.5-44.el7.x86_64,总大小约为8.7MB。
总之,确保CUDA和GPU驱动的版本兼容是解决CentOS下nvidia-smi报错的关键,否则可能会导致版本冲突或性能问题。如果有多个版本的CUDA或驱动,务必谨慎处理以避免潜在冲突。