小白实践…
ubuntu系统下安装uWSGI的坑:
会出现以下问题:
lto1: fatal error: bytecode stream generated with LTO version 6.0 instead of the expected 4.1
compilation terminated.
lto-wrapper: fatal error: gcc returned 1 exit status
compilation terminated.
/home/liuzhen/anaconda3/compiler_compat/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
*** error linking uWSGI ***
原因是Ubuntu系统的gcc版本问题,修改系统默认的gcc版本可以参照:
https://blog.csdn.net/jacke121/article/details/54565281
步骤:
- 安装gcc4.7:sudo apt-get install gcc-4.7
- 删除已有软连接:sudo rm /usr/bin/gcc
- 创建指向gcc4.7的软连接:sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
uWSGI的启动问题:
可能会出现:
uwsgi: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory.
意思是找不到libpcre.so.1这个模块,而导致启动失败。
以下操作路径仅供参考,实际需要按自己的情况操作。
步骤:
1. 使用命令whereis uwsgi,查找uwsgi的位置
2. 使用命令find / -name ‘libpcre.so.1’,查找libpcre.so.1文件的位置
3. 使用命令ldd $(which xxx),其中xxx是1.中uwsgi的路径。可以看到uwsgi的依赖包中libpcre.so.1文件是找不到的。
4. 使用命令ln –s 链接位置 被链接位置
5.再使用ldd $(which xxx)查看uwsgi的依赖情况,可以看到文件可以找到,再次成功启动。