Apache, Python2.5 und _hashlib.so (war "Mod-Python mit A..."

  • Hallo,


    ich versuche mod-python mit dem Apache ans Laufen zu bekommen. Hintergrund ist, dass ich meine Trac-Installation beschleunigen will, die derzeit noch mit CGI läuft.


    Wie in der Trac beschrieben, habe ich mod-python installiert und in die apache.conf eine Testseite integriert:

    Code
    <Location /mpinfo>   SetHandler mod_python   PythonInterpreter main_interpreter   PythonHandler mod_python.testhandler</Location>


    Allerdings gibt es hier Fehler, wenn ich auf die Seite zugreife. Zuerst wurde ein fehlendes Modul "_md5" bemängelt. OK, also habe ich einen Symlink erstellt von /share/MD0_DATA/.qpkg/Optware/lib/python2.5/_md5.py nach /share/MD0_DATA/.qpkg/Optware/lib/python2.5/md5.py


    Funktioniert. Danach wurde ein fehlendes Modul "_sha.py" bemängelt. OK, gleicher Trick, funktioniert.


    Nun wird aber "_sha256" gesucht und ich habe kein sha256.py auf dem System! Siehe Error-Log:

    Python
    [Sun Jul 18 14:41:44 2010] [error] make_obcallback: could not call init.\nTraceback (most recent call last):  File "/opt/lib/python2.5/site-packages/mod_python/apache.py", line 937, in init    from mod_python import importer  File "/opt/lib/python2.5/site-packages/mod_python/importer.py", line 24, in <module>    from mod_python import publisher  File "/opt/lib/python2.5/site-packages/mod_python/publisher.py", line 50, in <module>    from cache import ModuleCache, NOT_INITIALIZED  File "/opt/lib/python2.5/site-packages/mod_python/cache.py", line 27, in <module>    import urllib2  File "/opt/lib/python2.5/urllib2.py", line 91, in <module>    import hashlib  File "/opt/lib/python2.5/hashlib.py", line 135, in <module>    sha224 = __get_builtin_constructor('sha224')  File "/opt/lib/python2.5/hashlib.py", line 63, in __get_builtin_constructor    import _sha256ImportError: No module named _sha256[Sun Jul 18 14:41:44 2010] [error] get_interpreter: no interpreter callback found.[Sun Jul 18 14:41:44 2010] [error] [client 192.168.3.3] python_handler: Can't get/create interpreter.


    Anscheinend gibt es eine Misskonfiguration, die nach Modulen mit führendem Unterstrich sucht und ich kann es durch Symlinks lösen. Aber woher bekomme ich dieses sha256.py?


    Mein System ist ein QNAP TS-219p.



    EDIT:
    Ich hab jetzt mal in den Source Code von hashlib.py reingeschaut. Es sieht so aus, als ob das Modul _hashlib.so nicht geladen werden kann was wohl Routinen aus OpenSSL bereitstellt. Als Folge versucht das Skript die Python-eigenen Objekte zu laden (_md5, etc.), die aber in Python 2.5 gar nicht mehr unterstützt werden. Da hat also jemand geschlampt...



    Was ich nicht verstehe ist, warum _hashlib.so nicht geladen werden kann.


    1) Ist die Datei da? Ja, in /share/MD0_DATA/.qpkg/Optware/lib/python2.5/lib-dynload
    2) Kann ich das Modul im Interpreter laden? Ja


    Warum kann das Modul nicht geladen werden, wenn das Skript durch Apache aufgerufen wird?


    3) Sind genug Leserechte drauf? Ja
    4) Mal den LD_LIBRARY_PATH um das Verzeichnis mit _hashlib.so erweitert (im Start-Skript van Apache)? Ja


    Ich weiß nicht mehr weiter... Auf alle Fälle ändere ich mal den Titel des Threads. Mit mod-python hat das nix zu tun.

    4 Mal editiert, zuletzt von Terz () aus folgendem Grund: Doppelte Beiträge vermeiden, siehe Forenregeln!

  • Hier noch die Liste der bei mir installierten Pakete: