首页 > 数据库 >运行MongoDB 报错GLIBC_2.14 not found

运行MongoDB 报错GLIBC_2.14 not found

时间:2024-04-18 09:56:46浏览次数:24  
标签:en LC libc MongoDB GLIBC 报错 2.14 glibc

Linux环境下安装完mongodb,运行./mongod报错如下

# ./mongod
./mongod: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./mongod)

使用rpm -qa |grep glibc查看系统当前的glibc版本为2.12
使用如下命令查看系统glibc最高支持的版本为2.12

# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

 

可以配置仓库用yum升级glibc rpm包(真的,还是用yum吧,省心,靠谱)。

这里使用源码包安装

(1)这里从http://ftp.acc.umu.se/mirror/gnu.org/gnu/libc/ 下载glibc-2.14.1.tar.gz,解压得到 glibc-2.14.1,然后创建build目录

  1. # cd glibc-2.14.1
  2.  # mkdir build

(2)运行configure配置,configure --prefix=<glibc-2.14.1 path>


# pwd
/usr/local/mongodb/glibc-2.14/glibc-2.14.1
# cd build/
# ../configure --prefix=/usr/local/mongodb/glibc-2.14/glibc-2.14.1
# ls -l
total 92
drwxr-xr-x. 2 root root 4096 Apr 3 11:30 bits
-rw-r--r--. 1 root root 7773 Apr 3 11:30 config.h
-rw-r--r--. 1 root root 37585 Apr 3 11:30 config.log
-rw-r--r--. 1 root root 3479 Apr 3 11:30 config.make
-rwxr-xr-x. 1 root root 32737 Apr 3 11:30 config.status
-rw-r--r--. 1 root root 568 Apr 3 11:30 Makefile
#

说明:如果在build/的上级目录执行./configure命令会报错,原因不知。。
configure: error: you must configure in a separate build directory
看到有的帖子在build/上上级目录执行也能成功

 

(3)运行make && make install
# make -j4
# make install

(4)临时修改环境变量 export LD_LIBRARY_PATH=<glibc-2.14.1 path>/lib:$LD_LIBRARY_PATH

# export LD_LIBRARY_PATH=/usr/local/mongodb/glibc-2.14/glibc-2.14.1/lib:$LD_LIBRARY_PATH

(5)将/lib64/libc.so.6 软链接到 glibc-2.14.1(高能预警!!!不要做这步操作,请跳至步骤7)

# rm -rf /lib64/libc.so.6
# ln -s /usr/local/mongodb/glibc-2.14/glibc-2.14.1/lib/libc-2.14.1.so /lib64/libc.so.6
# ls -l /lib64/libc.so.6
lrwxrwxrwx. 1 root root 61 Apr 3 03:45 /lib64/libc.so.6 -> /usr/local/mongodb/glibc-2.14/glibc-2.14.1/lib/libc-2.14.1.so

再次查看系统glibc最高支持的版本,为2.14

# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_PRIVATE

 

但是!但是!但是!
(6)打开新的连接登录这台机器失败,于是想去已有连接改一下密码,发现passwd不能用,报错如下

# passwd
passwd: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

 

想把libc.so.6链接回原来的文件,结果ln也不能用

# rm -rf /lib64/libc.so.6
# ln -s /lib64/libc-2.12.so /lib64/libc.so.6
ln: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

 

很多命令不能用,恢复方法 => 执行
ldconfig -l -v /lib64/libc-2.12.so

(7)再来一遍软链接
cp /usr/local/mongodb/glibc-2.14/glibc-2.14.1/lib/libc-2.14.1.so /lib64/libc-2.14.1.so
rm -rf /lib64/libc.so.6
LD_PRELOAD=/lib64/libc-2.14.1.so ln -s /lib64/libc-2.14.1.so /lib64/libc.so.6


(8)这样做完之后看着没什么问题,但是打开新的连接登录这台机器,会打印
-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory
-bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory

执行locale命令,提示如下异常

# locale
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_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

在/etc/sysconfig/i18n文件中,添加如下行
LC_ALL=C
export LC_ALL

执行 source /etc/sysconfig/i18n

说明:LC_ALL=C 是为了去除所有本地化的设置,让命令能正确执行。

打开新的连接登录这台机器,看着一切正常,暂时未发现其它异常。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/wy_hhxx/article/details/105292096

标签:en,LC,libc,MongoDB,GLIBC,报错,2.14,glibc
From: https://www.cnblogs.com/fengjian2016/p/18142873

相关文章

  • mongodb启动失败问题解决
    解决办法sudochown-Rmongod:mongod/var/lib/mongochown-Rmongod:mongod/var/log/mongodb/chown-Rmongod:mongod/tmp/mongodb-27017.sock或者可以使用mongod--config/etc/mongod.conf参考:MongoDBloadsbutbreaks,returningstatus=14-AskUbuntumon......
  • vscode remote-x11 ssh 连接时Another All configured authentication methods failed
    错误remote-x11-ssh插件使用ssh2扩展出现以下错误https://github.com/joelspadin/vscode-remote-x11/issues/75Error:Allconfiguredauthenticationmethodsfailed原因https://github.com/mscdex/ssh2/issues/989解决换成ed25519并修改配置......
  • MongoDB复制集
    MongoDB的复制集复制集及原理MongoDB复制集的主要意义在于实现服务高可用复制集的现实依赖于两个方面的功能:数据写入时将数据迅速复制到另一个独立节点上在接受写入的节点发生故障时自动选举出一个新的替代节点复制集在实现高可用的同时,还有以下作用:数据分发:将数据从......
  • k8s快速创建MongoDB
    1.创建MongoDBpvc文件如果不需要持久存储可以忽略kind:PersistentVolumeClaimapiVersion:v1metadata:name:mongodb-datanamespace:t1-zdblspec:storageClassName:nfs-client#这里使用的存储类accessModes:-ReadWriteManyresources:reques......
  • 【安装记录】pip install dlib报错
    最近在复现人工智能方面的论文时,需要安装dlib包但是pipinstalldlib一直报错:又有中文乱码,又提示下面的:note:Thiserrororiginatesfromasubprocess,andislikelynotaproblemwithpip.ERROR:FailedbuildingwheelfordlibRunningsetup.pycleanfordlibFail......
  • docker部署mongodb
    docker部署mongodb拉取镜像dockerpullmongo启动mongo(dockerrun和dockercompose)dockerrun--auth:需要密码才能访问容器服务。-eMONGO_INITDB_ROOT_USERNAME:设置用户名-eMONGO_INITDB_ROOT_PASSWORD:设置密码dockerrun--restart=always--namemongodb-v~/dock......
  • mybtais-plus报错BuilderException: Error evaluating expression 'ew.sqlSegment !=
    在学习项目时,出现了这个报错,几经排查,发现原因:我这里是因为使用了LambdaQuery方法,不知为何就出现了冲突,导致错误,代码如下:@OverridepublicCommonUserfindByOpenId(StringopenId){returnlambdaQuery().eq(CommonUser::getOpenId,openId).one();控制台也提示到了这里有问......
  • Idea报错 【cannot access com.xxx】的【解决办法】
    正常操作代码,一个类突然标红,提示 cannotaccesscom.xxx 。执行下面操作,执行完后项目变为正常 但是如果是你代码存在异常,可不是清缓存就能解决了,就要靠自己了哈哈 第一步File知道吧! 第二步点我箭头的位置知道吧 第三步点中间的ok?意思就是清缓存并重启idea的意......
  • pyqt5报错记录:ERROR: Failed building wheel for PyQt5-sip
    问题:pipinstallpyqt5Collectingpyqt5UsingcachedPyQt5-5.15.10-cp37-abi3-win_amd64.whl.metadata(2.2kB)CollectingPyQt5-sip<13,>=12.13(frompyqt5)UsingcachedPyQt5_sip-12.13.0.tar.gz(123kB)Installingbuilddependencies...doneGettingr......
  • 控制台连接数据库成功,驱动也导入了没问题,但tomcat的servlet启动会报错。报错信息:java.
    查了很多资料这个报错信息是因为驱动导入不成功,但我确定我已经导入了,因为我在控制台输出了出来。找了很久,发现了这个小问题。原因是我在Eclipse中创建是一个标准的Web工程,它是自带lib文件夹的,然后我自己又自建了一个lib文件夹用来放驱动,结果就像这样报出一个错误!解决方案:......