本文主要解决openssl升级到1.1.0以上版本,导致shadowsocks2.8.2启动报undefined symbol: EVP_CIPHER_CTX_cleanup错误。
如果在安装完ShadowSocks后,启动时报1
2AttributeError: /usr/local/ssl/lib/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
shadowsocks start failed
的错误。
在终端输入:1
nautilus /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py
具体路径不同,请根据报错路径而定,但目的只有一个,就是找到openssl.py文件。
如果nautilus指令报错,那就用cd命令到这个目录下,使用vim编辑修改openssl.py文件。
如果是用文本文档打开,那搜索CIPHER_CTX_cleanup,应该有两处,替换为CIPHER_CTX_reset,然后保存文件。
如果是用vim编辑,那么输入1
2:%s/cleanup/reset/
:x
然后重新运行Shadowsocks即可。