本文主要解決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
的錯誤。
在終端輸入:
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編輯,那麼輸入
:%s/cleanup/reset/
:x
然後重新運行Shadowsocks即可。
具體原因可以參考這篇文章
https://kionf.com/2016/12/15/errornote-ss/