解决openssl升级到1.1.0以上版本,导致shadowsocks2.8.2启动报undefined symbol: EVP_CIPHER_CTX_cleanup错误。

准备翻墙冲浪的时候Shadowsocks报错如下:
AttributeError: /usr/local/ssl/lib/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
shadowsocks start failed

解决方法 :

  1. vim打开文件openssl.py
    vim /usr/local/lib/python3.5/dist-packages/shadowsocks/crypto/openssl.py

路径不同根据报错路径而定

  1. 修改libcrypto.EVP_CIPHER_CTX_cleanup.argtypes
  1. :%s/cleanup/reset/
  2. :x

以上两条为VIM命令, 替换文中libcrypto.EVP_CIPHER_CTX_cleanup.argtypes 为libcrypto.EVP_CIPHER_CTX_reset.argtypes 共两处,并保存

  1. 运行Shadowsocks
    OK
文档更新时间: 2022-06-10 10:57   作者:张尚