ImportError:libSM.so.6:cannot open shared object

CentOS7

CentOS安装软件时,有可能会报错:ImportError: libSM.so.6: cannot open shared object file: No such file or dir

实际上就是缺少了合适的共享库,只要装上就行了,解决方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 我们直接通过yum来安装libSM解决不了问题, 那是因为yum源默认提供的库是i686的, 如果我们的服务器系统是64位的,应该要安装的是x86_64版而非i686。所以要用到下面的命令
# 终端输入以下命令
yum whatprovides libSM.so.6

# 输出:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
libSM-1.2.2-2.el7.i686 : X.Org X11 SM runtime library
Repo : base
Matched from:
Provides : libSM.so.6

# 然后在终端输入以下命令,libSM-1.2.2-2.el7就是上条命令查到的结果,可以看到默认提供的是i686的, 但是我们需要x86_64,所以把i686改为x86_64
yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false

# 安装完成即可。

如果你出现了上面的错误,那你很大概率也会遇到下面的问题:ImportError: libXrender.so.1: cannot open shared object file: No such file or directory

解决方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 终端输入以下命令
yum whatprovides libXrender.so.1

# 输出:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
libXrender-0.9.10-1.el7.i686 : X.Org X11 libXrender runtime library
Repo : base
Matched from:
Provides : libXrender.so.1

# 然后在终端输入以下命令,libXrender-0.9.10-1.el7就是上条命令查到的结果,注意把i686改为x86_64
yum install libXrender-0.9.10-1.el7.x86_64 --setopt=protected_multilib=false

# 安装完成即可

你很大概率也会遇到下面的问题:ImportError: libXext.so.6: cannot open shared object file: No such file or directory

解决方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 终端输入以下命令
yum whatprovides libXext.so.6

# 得到:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
libXext-1.3.3-3.el7.i686 : X.Org X11 libXext runtime library
Repo : base
Matched from:
Provides : libXext.so.6

# 然后在终端输入以下命令,libXrender-0.9.10-1.el7就是上条命令查到的结果,注意把i686改为x86_64
yum install libXext-1.3.3-3.el7.x86_64 --setopt=protected_multilib=false

# 安装完成即可。

Ubuntu

安装软件时,有可能会报错:ImportError: libSM.so.6: cannot open shared object file: No such file or dir

解决方法:

1
apt-get install libsm6

如果你出现了上面的错误,那你很大概率也会遇到下面的问题:ImportError: libXrender.so.1: cannot open shared object file: No such file or directory

解决方法:

1
apt-get install libxrender1

你很大概率也会遇到下面的问题:ImportError: libXext.so.6: cannot open shared object file: No such file or directory

解决方法:

1
apt-get install libxext-dev

即可解决问题。


ImportError:libSM.so.6:cannot open shared object
https://flepeng.github.io/002-Linux-71-报错-ImportError:libSM-so-6:cannot-open-shared-object/
作者
Lepeng
发布于
2021年7月5日
许可协议