问题 :
uwsgi: error while loading shared libraries: libicui18n.so.58: cannot open shared object file: No such file or directory
找uwsgi
(python3) [root@localhost ~]# which uwsgi
/root/anaconda3/envs/python3/bin/uwsgi
ldd查看缺少的包
(python3) [root@localhost ~]# ldd /root/anaconda3/envs/python3/bin/uwsgi
libicui18n.so.58 => not found
libicuuc.so.58 => not found libicudata.so.58 => not found
从anaconda中把缺失的包软连接到/lib64下
ln -s /root/anaconda3/lib/libicui18n.so.58 /lib64/libicui18n.so.58
ln -s /root/anaconda3/lib/libicuuc.so.58 /lib64/libicuuc.so.58
ln -s /root/anaconda3/lib/libicudata.so.58 /lib64/libicudata.so.58
再次查看uwsgi所需包的情况
(python3) [root@localhost ~]# ldd /root/anaconda3/envs/python3/bin/uwsgi
/root/anaconda3/envs/python3/bin/uwsgi: /lib64/./libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /lib64/libicui18n.so.58)
/root/anaconda3/envs/python3/bin/uwsgi: /lib64/./libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib64/libicui18n.so.58)
/root/anaconda3/envs/python3/bin/uwsgi: /lib64/./libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /lib64/libicuuc.so.58)
/root/anaconda3/envs/python3/bin/uwsgi: /lib64/./libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /lib64/libicuuc.so.58)
linux-vdso.so.1 => (0x00007ffdfd9dd000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5a11b8b000)
libm.so.6 => /lib64/libm.so.6 (0x00007f5a11889000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f5a11684000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f5a11422000)
libxml2.so.2 => /lib64/libxml2.so.2 (0x00007f5a110b9000)
libz.so.1 => /lib64/libz.so.1 (0x00007f5a10ea2000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f5a10c7d000)
libicui18n.so.58 => /lib64/libicui18n.so.58 (0x00007f5a10808000)
libicuuc.so.58 => /lib64/libicuuc.so.58 (0x00007f5a10459000)
libicudata.so.58 => /lib64/libicudata.so.58 (0x00007f5a0e959000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f5a0e756000)
librt.so.1 => /lib64/librt.so.1 (0x00007f5a0e54d000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f5a0e316000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5a0df55000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5a11daf000)
libstdc++.so.6 => /lib64/./libstdc++.so.6 (0x00007f5a0dc4c000)
libgcc_s.so.1 => /lib64/./libgcc_s.so.1 (0x00007f5a0da36000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f5a0d832000)
查看/lib64下的libstdc++.so.6: version `CXXABI:
(python3) [root@localhost ~]# 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
查看anconda下的 libstdc++.so.6包
(python3) [root@localhost ~]# ls /root/anaconda3/lib/ | grep libstdc++.so.6
libstdc++.so.6
libstdc++.so.6.0.24
过滤出CXXABI
(python3) [root@localhost ~]# strings /root/anaconda3/lib/libstdc++.so.6|grep CXXABI(6.0.24的一样)
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
CXXABI_1.3
CXXABI_1.3.11
CXXABI_1.3.2
CXXABI_1.3.6
CXXABI_FLOAT128
CXXABI_1.3.9
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.8
CXXABI_1.3.4
CXXABI_TM_1
CXXABI_1.3.7
CXXABI_1.3.10
CXXABI_1.3.3
查看本地机器的libstdc++.so.6包
(python3) [root@localhost ~]# ll /usr/lib64/ | grep libstdc++.so.6
lrwxrwxrwx. 1 root root 19 Jun 28 2016 libstdc++.so.6 -> libstdc++.so.6.0.19
-rwxr-xr-x. 1 root root 995840 Nov 19 2015 libstdc++.so.6.0.19
删除老的libstdc++.so.6包
(python3) [root@localhost lib64]# rm -fr libstdc++.so.6
从anaconda中copy最新的libstdc++.so.6 到/usr/lib64/
(python3) [root@localhost ~]# cd /root/anaconda3/lib
(python3) [root@localhost lib]# cp libstdc++.so.6 /usr/lib64/
运行uwsgi
(python3) [root@localhost ~]# uwsgi
*** Starting uWSGI 2.0.18 (64bit) on [Sat Jan 4 11:57:18 2020] ***
compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-4) on 03 January 2020 06:47:05
os: Linux-3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015
nodename: localhost.localdomain
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 2
current working directory: /root
detected binary path: /root/anaconda3/envs/python3/bin/uwsgi
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
*** WARNING: you are running uWSGI without its master process manager ***
your processes number limit is 15056
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
The -s/--socket option is missing and stdin is not a socket.