uwsgi loading shared libraries:libicui18n.so.58 异常处理

用uwsgi + flask搭建python应用环境
python使用anaconda3(python 3.6.4)

报错信息:

(nlp) [root@host]# uwsgi app_uwsgi.ini 
uwsgi: /lib64/./libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /lib64/libicui18n.so.58)
uwsgi: /lib64/./libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib64/libicui18n.so.58)
uwsgi: /lib64/./libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /lib64/libicuuc.so.58)
uwsgi: /lib64/./libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib64/libicuuc.so.58)

这说明缺失CXXABI_ 之类的东西,使用 strings 命令查看结果如下:

strings /usr/lib64/libstdc++.so.6|grep CXXABI
(nlp) [root@host]# strings /usr/lib64/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_TM_1

确实没有CXXABI_1.3.8 CXXABI_1.3.9 之类的东西,那么就把 anaconda3的lib 下的libstdc++.so.6移到/lib64下面, libstdc++.so.6就是libstdc++.so.6.0.24的软链(可以去/lib64下查看ll libstc*),既然确实那就把 anconda3下的高版本都copy 过去就是

把进入anaconda3的lib下的目录,将libstdc++.so.6.0.24拷贝到/lib64目录下。

cd /.../anaconda3/lib
cp libstdc++.so.6.0.24 /lib64/

进入/lib64目录删除原来的libstdc++.so.6符号连接。

cd /lib64
rm -rf libstdc++.so.6

新建新符号连接。

ln -s libstdc++.so.6.0.24 libstdc++.so.6

再次执行查看结果符合就哦了。

参考:
https://blog.csdn.net/MarsYWK/article/details/86704428

你可能感兴趣的:(python,anaconda)