2016-03-01 1 views
2

La version d'OpenSSL d'aujourd'hui (1 mars 2016) a provoqué l'erreur suivante lors de l'exécution de Plone/Zope .buildout/eggs/ZODB3-3.10.5-py2.7-linux- x86_64.egg/persistent/cPersistence.so: symbole non défini: SSLv2_methodLa nouvelle version d'OpenSSL empêche le démarrage de Plone/Zope

Il est difficile de voir ce qui se passe puisqu'il s'agit d'un fichier binaire. J'ai aussi essayé la mise à jour 3.11.0 ZODB3 qui donne le retraçage suivant

.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 

Y at-il solution de contournement pour cette autre que de revenir OpenSSL?

+0

Cette question semble être hors sujet car il ne s'agit pas de programmation ou de développement. Voir [Quels sujets puis-je poser à ce sujet?] (Http://stackoverflow.com/help/on-topic) dans le centre d'aide. Peut-être [Super User] (http://superuser.com/) ou [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) serait un meilleur endroit à demander. Voir aussi [Où poser des questions sur Dev Ops?] (Http://meta.stackexchange.com/q/134306). – jww

Répondre

1

zope security est un œuf compilé, comme tous ceux qui se terminent par -py2.7-linux-x86_64.egg. Comme le dit la traceback, il ne peut plus trouver de symbole. Probablement vous devez le recompiler avec le nouveau openssl-dev.

Je voudrais essayer (sur un serveur de développement premier):

  1. sauvegarde de votre oeuf compilé (mkdir œufs sauvegarde & & mv `oeufs/zope.security-3.7.4-py2.7- œufs de sauvegarde linux-x86_64.egg /)
  2. réexécutez buildout

Cela recompiler votre œuf manquant. J'espère que cela fonctionne et j'espère que c'est le seul lien avec cette bibliothèque.

Quoi qu'il en soit, dependending sur la façon dont vous patché OpenSSL vous pouvez avoir beaucoup d'autres questions (je pense à Python, urllib *, boucle, wget, ...)

1

OpenSSL 1.0.2g par défaut ne construit pas avec SSLv2 (en raison de la récente attaque DROWN). Vous devrez peut-être le construire manuellement sans le drapeau OPENSSL_NO_SSL2.

(mais en fait, vous ne devriez pas faire cela si vous faites des choses liées au serveur, il y a une raison sérieuse pour la sécurité en raison de laquelle il a été désactivé, voir https://drownattack.com)

1

j'ai pu résoudre ceci en mettant à jour Python vers la version 2.7.10+, puis en mettant à jour Pillow et lxml. Stack Overflow est un site de questions de programmation et de développement.