解决启动pgsql服务CXXABI_1.3.8 not found问题

错误日志

启动pgsql报错CXXABI_1.3.8 not found

[root@centos ~]#  systemctl start postgresql-12.service
Job for postgresql-12.service failed because the control process exited with error code.
See "systemctl status postgresql-12.service" and "journalctl -xe" for details.
[root@centos ~]# journalctl -xe
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Unit postgresql-12.service has begun starting up.
Mar 07 11:07:25 centos.rx101 postmaster[41528]: /usr/pgsql-12/bin/postmaster: /lib64/libstdc++.so.6: version `CXXABI_1.3.8` not found (required by /lib64/libicui18n.so.60)
Mar 07 11:07:25 centos.rx101 postmaster[41528]: /usr/pgsql-12/bin/postmaster: /lib64/libstdc++.so.6: version `CXXABI_1.3.8` not found (required by /lib64/libicuuc.so.60)
Mar 07 11:07:25 centos.rx101 systemd[1]: postgresql-12.service: Main process exited, code=exited, status=1/FAILURE
Mar 07 11:07:25 centos.rx101 systemd[1]: postgresql-12.service: Failed with result 'exit-code'.
Mar 07 11:07:25 centos.rx101 systemd[1]: Failed to start PostgreSQL 12 database server.
-- Subject: Unit postgresql-12.service has failed
-- Defined-By: systemd

解决方案

  1. 查找libicui18n.so.60所在路径
[root@centos ~]# whereis libicui18n.so.60
libicui18n.so: /usr/lib64/libicui18n.so.60

3.查询系统上的libstdc++.so

[root@centos ~]# find / -name "libstdc++.so*"
/home/ccdx_bak/depends/base/libstdc++.so.6
/home/ccdx_bak/depends/base/libstdc++.so.6.0.25
/home/ccdx_20230228/depends/base/libstdc++.so.6
/home/ccdx_20230228/depends/base/libstdc++.so.6.0.25
/home/ccdx/depends/base/libstdc++.so.6
/home/ccdx/depends/base/libstdc++.so.6.0.25
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo

4.查看其中一个libstdc++.so.6是否包含CXXABI_1.3.8

[root@centos ~]# strings /home/ccdx_bak/depends/base/libstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_TM_1
CXXABI_FLOAT128

5.复制包含CXXABI_1.3.8的动态库至第一步骤的根路径


[root@centos ~]# sudo cp /home/ccdx_bak/depends/base/libstdc++.so.6 /usr/lib64

6.删除原来的libstdc++.so.6,改变软连接的指向

[root@centos ~]# cd  /usr/lib64
[root@centos lib64]# sudo rm libstdc++.so.6
[root@centos lib64]# sudo ln -s libstdc++.so.6.0.19 libstdc++.so.6
[root@centos lib64]# cd

猜你喜欢

转载自blog.csdn.net/qq_37959253/article/details/129463864
今日推荐