2016-03-01 68 views
2

今天(2016年3月1日)當運行Plone/Zope時,OpenSSL版本導致以下錯誤:.buildout/eggs/ZODB3-3.10.5-py2.7-linux- x86_64.egg /永久/ cPersistence.so:未定義的符號:SSLv2_methodOpenSSL的新版本導致Plone/Zope無法啓動

很難看到發生了什麼事情,因爲它是一個二進制文件。我也試着更新到ZODB3 3.11.0這將產生以下回溯

.buildout/eggs/ZConfig-2.9.0-py2.7.egg/ZConfig/loader.py", line 217, in schemaComponentSource 
package=package) 
ZConfig.SchemaResourceError: could not load package ZServer: 
.buildout/eggs/zope.security-3.7.4-py2.7-linux-x86_64.egg/zope/security/_proxy.so: undefined symbol: SSLv2_method 
    Package name: 'ZServer' 
    File name: 'component.xml' 
    Package path: None 

有什麼比恢復OpenSSL的辦法解決這個其他?

+0

Stack Overflow是用於編程和發展問題的站點。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。另請參閱[我在哪裏發佈有關Dev Ops的問題?](http://meta.stackexchange.com/q/134306)。 – jww

回答

1

zope security是編譯的雞蛋,像-py2.7-linux-x86_64.egg結束了所有的人。正如回溯說的那樣,它找不到一個符號。 可能你必須用新的openssl-dev重新編譯它。

我會嘗試(一發展服務器上在前):

  1. 備份您的編譯雞蛋(雞蛋的mkdir備份& & MV`雞蛋/ zope.security-3.7.4-py2.7- Linux的x86_64.egg雞蛋備份/)
  2. 重播擴建

這將重新編譯丟失的雞蛋。 希望它有效,並希望它是唯一一個鏈接到該圖書館。

反正dependending你修補OpenSSL的你可能有很多其他的問題的方式(我想到了Python,urllib的*,捲曲,wget的,...)

1

OpenSSL 1.0.2g默認情況下不建與SSLv2(因爲最近的DROWN攻擊)。您可能需要手動構建它,而不使用OPENSSL_NO_SSL2標誌。

(但事實上,如果你正在做一些服務器相關的東西,你不應該這樣做,存在着嚴重的安全理由,因爲其中有一部分殘疾人,看到https://drownattack.com

1

我能解決通過將python升級到2.7.10+,然後升級Pillow和lxml。