暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Mogdb libpython3.6m.so.1.0: cannot open shared object file: No such file or directory报错排查

原创 Z·A·Q 2023-07-10
505

问题现象

  • 执行gs_om -t status --detail命令查询MogDB各实例情况,出现以下报错
[omm@raca1 ~]$ gs_om -t status --detail
Traceback (most recent call last):
  File "/opt/mogdb/tool/script/gspylib/common/Common.py", line 63, in <module>
    import psutil
  File "/opt/mogdb/tool/script/gspylib/common/../../../lib/psutil/__init__.py", line 102, in <module>
    from . import _pslinux as _psplatform
  File "/opt/mogdb/tool/script/gspylib/common/../../../lib/psutil/_pslinux.py", line 26, in <module>
    from . import _psutil_linux as cext
ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/mogdb/tool/script/gs_om", line 29, in <module>
    from gspylib.common.ParameterParsecheck import Parameter
  File "/opt/mogdb/tool/script/gspylib/common/ParameterParsecheck.py", line 27, in <module>
    from gspylib.common.Common import DefaultValue
  File "/opt/mogdb/tool/script/gspylib/common/Common.py", line 97, in <module>
    import psutil
  File "/opt/mogdb/tool/script/gspylib/common/../../../lib/psutil/__init__.py", line 102, in <module>
    from . import _pslinux as _psplatform
  File "/opt/mogdb/tool/script/gspylib/common/../../../lib/psutil/_pslinux.py", line 26, in <module>
    from . import _psutil_linux as cext
ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
[omm@raca1 ~]$ 

问题排查

  • 1)查找是否有libpython3.6m.so.1.0文件,发现该主机上并不存在该文件
[root@raca1 ~]# find / -name libpython3.6m.so.1.0
[root@raca1 ~]# 
  • 2)查看当前主机的python信息,当前主机已经安装了python3
[root@raca1 ~]# python -V
Python 2.7.5
[root@raca1 ~]# python3 -V
Python 3.6.8
  • 3)查看python3的lib目录,发现该目录下不存在.so文件
[root@raca1 lib]# pwd
/usr/local/python3/lib
[root@raca1 lib]# ll
total 21352
-r-xr-xr-x  1 root root 21849616 Feb 26  2021 libpython3.6m.a
drwxr-xr-x  2 root root       67 Feb 26  2021 pkgconfig
drwxr-xr-x 35 root root     8192 Feb 26  2021 python3.6

问题解决

  • 问题原因:编译python3时,没有加载动态库
  • 1)将python3安装到另一个目录/root/python3,编译时使用--enable-shared CFLAGS=-fPIC加载动态库文件
[root@raca1 ~]# cd Python-3.6.8/
[root@raca1 Python-3.6.8]# ./configure --prefix=/root/python3 --enable-shared CFLAGS=-fPIC
[root@raca1 Python-3.6.8]# make
[root@raca1 Python-3.6.8]# make install
  • 2)复制libpython3.6m.so.1.0/usr/lib64目录下即可解决报错
[root@raca1 ~]# cd /root/python3/lib
[root@raca1 lib]# cp libpython3.6m.so.1.0 /usr/lib64
  • 3)可以成功调用gs_om命令
[omm@raca1 ~]$ gs_om -t status --detail
[   Cluster State   ]

cluster_state   : Normal
redistributing  : No
current_az      : AZ_ALL

[  Datanode State   ]

    node node_ip         port      instance                state
--------------------------------------------------------------------------------
1  raca1 10.62.228.76    26000      6001 /opt/mogdb/data   P Primary Normal
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论