ok the error i got was:
ImportError: ld.so.1: httpd.worker: fatal: libssl.so.1.0.0: open failed: No
such file or directory
But it is strange because i can not see any reference to libssl
#ldd httpd.worker
libaprutil-1.so.0 =>
/opt/webtier/Middleware/Oracle_WT1/lib/libaprutil-1.so.0
libexpat.so.0 =>
/opt/webtier/Middleware/Oracle_WT1/ohs/lib/libexpat.so.0
libcrypt_i.so.1 => /usr/lib/64/libcrypt_i.so.1
libapr-1.so.0 =>
/opt/webtier/Middleware/Oracle_WT1/lib/libapr-1.so.0
libuuid.so.1 => /lib/64/libuuid.so.1
libsendfile.so.1 => /lib/64/libsendfile.so.1
librt.so.1 => /lib/64/librt.so.1
libm.so.1 => /lib/64/libm.so.1
libsocket.so.1 => /lib/64/libsocket.so.1
libnsl.so.1 => /lib/64/libnsl.so.1
libresolv.so.2 => /lib/64/libresolv.so.2
libpthread.so.1 => /lib/64/libpthread.so.1
libdl.so.1 => /lib/64/libdl.so.1
libdms2.so => /opt/webtier/Middleware/Oracle_WT1/lib/libdms2.so
libiau.so => /opt/webtier/Middleware/Oracle_WT1/lib/libiau.so
libclntsh.so.11.1 =>
/opt/webtier/Middleware/Oracle_WT1/lib/libclntsh.so.11.1
libthread.so.1 => /lib/64/libthread.so.1
libc.so.1 => /lib/64/libc.so.1
libgen.so.1 => /lib/64/libgen.so.1
libaio.so.1 => /lib/64/libaio.so.1
libmd.so.1 => /lib/64/libmd.so.1
libmp.so.2 => /lib/64/libmp.so.2
libscf.so.1 => /lib/64/libscf.so.1
libnnz11.so => /opt/webtier/Middleware/Oracle_WT1/lib/libnnz11.so
libkstat.so.1 => /lib/64/libkstat.so.1
libsched.so.1 => /usr/lib/64/libsched.so.1
libm.so.2 => /lib/64/libm.so.2
libdoor.so.1 => /lib/64/libdoor.so.1
libuutil.so.1 => /lib/64/libuutil.so.1
/platform/SUNW,T5440/lib/sparcv9/libc_psr.so.1
/platform/SUNW,T5440/lib/sparcv9/libmd_psr.so.1
On Thursday, February 19, 2015 at 2:13:44 PM UTC+2, Graham Dumpleton wrote:
>
> What might be the problems is that _hashlib.so is using libcrypto.so and
> httpd is using libcrypt_i.so.
>
> My understanding from searching about these libraries is that they
> probably provide the same functionality.
>
> Older versions of Solaris didn't have a similar crypto, but newer Solaris
> versions do.
>
> My guess is that your Python installation was built for an older Solaris
> version, or on the expectation that libcrypto_i.so didn't exist, or maybe
> it didn't check, used its own copy of the crypto library.
>
> The httpd though is using the proper Solaris version of the library.
>
> As I guess the APIs are likely similar, what is probably happening is that
> one is loaded by httpd first, but then when that from _hashlib.so
> is loaded there is a clash of symbols and it fails to load. This causes it
> to fallback to _md5.so which does exist.
>
> I therefore thing the only solution would be to get a version of Python
> which uses the proper Solaris library so that there is no clash with what
> httpd has already loaded into the process.
>
> You might get a better idea of the reason _hashlib.so is failing to load
> by writing a WSGI hello world script and get it working, and then modify it
> to do:
>
> import _hashlib
>
> in the body of the WSGI application so that it tries to load that as part
> of the request. Any error should then be logged in the Apache error log.
>
> Graham
>
> On 19/02/2015, at 10:45 PM, [email protected] <javascript:> wrote:
>
> Also
>
> #ldd /opt/webtier/python_64/lib/python2.6/lib-dynload/_hashlib.so
> libssl.so.1.0.0 => /opt/webtier/ssl/lib/libssl.so.1.0.0
> libcrypto.so.1.0.0 => /opt/webtier/ssl/lib/libcrypto.so.1.0.0
> libpython2.6.so.1.0 =>
> /opt/webtier/python_64/lib/libpython2.6.so.1.0
> libgcc_s.so.1 => /usr/sfw/lib/sparcv9/libgcc_s.so.1
> libsocket.so.1 => /lib/64/libsocket.so.1
> libnsl.so.1 => /lib/64/libnsl.so.1
> libdl.so.1 => /lib/64/libdl.so.1
> libc.so.1 => /lib/64/libc.so.1
> librt.so.1 => /lib/64/librt.so.1
> libm.so.2 => /lib/64/libm.so.2
> libmp.so.2 => /lib/64/libmp.so.2
> libmd.so.1 => /lib/64/libmd.so.1
> libscf.so.1 => /lib/64/libscf.so.1
> libaio.so.1 => /lib/64/libaio.so.1
> libdoor.so.1 => /lib/64/libdoor.so.1
> libuutil.so.1 => /lib/64/libuutil.so.1
> libgen.so.1 => /lib/64/libgen.so.1
> /platform/SUNW,T5440/lib/sparcv9/libc_psr.so.1
> /platform/SUNW,T5440/lib/sparcv9/libmd_psr.so.1
>
> ----------------------------------------------------------------------------------------------
> #ldd httpd
> libaprutil-1.so.0 =>
> /opt/webtier/Middleware/Oracle_WT1/lib/libaprutil-1.so.0
> libexpat.so.0 =>
> /opt/webtier/Middleware/Oracle_WT1/ohs/lib/libexpat.so.0
> libcrypt_i.so.1 => /usr/lib/64/libcrypt_i.so.1
> libapr-1.so.0 =>
> /opt/webtier/Middleware/Oracle_WT1/lib/libapr-1.so.0
> libuuid.so.1 => /lib/64/libuuid.so.1
> libsendfile.so.1 => /lib/64/libsendfile.so.1
> librt.so.1 => /lib/64/librt.so.1
> libm.so.1 => /lib/64/libm.so.1
> libsocket.so.1 => /lib/64/libsocket.so.1
> libnsl.so.1 => /lib/64/libnsl.so.1
> libresolv.so.2 => /lib/64/libresolv.so.2
> libpthread.so.1 => /lib/64/libpthread.so.1
> libdl.so.1 => /lib/64/libdl.so.1
> libdms2.so => /opt/webtier/Middleware/Oracle_WT1/lib/libdms2.so
> libiau.so => /opt/webtier/Middleware/Oracle_WT1/lib/libiau.so
> libclntsh.so.11.1 =>
> /opt/webtier/Middleware/Oracle_WT1/lib/libclntsh.so.11.1
> libthread.so.1 => /lib/64/libthread.so.1
> libc.so.1 => /lib/64/libc.so.1
> libgen.so.1 => /lib/64/libgen.so.1
> libaio.so.1 => /lib/64/libaio.so.1
> libmd.so.1 => /lib/64/libmd.so.1
> libmp.so.2 => /lib/64/libmp.so.2
> libscf.so.1 => /lib/64/libscf.so.1
> libnnz11.so => /opt/webtier/Middleware/Oracle_WT1/lib/libnnz11.so
> libkstat.so.1 => /lib/64/libkstat.so.1
> libsched.so.1 => /usr/lib/64/libsched.so.1
> libm.so.2 => /lib/64/libm.so.2
> libdoor.so.1 => /lib/64/libdoor.so.1
> libuutil.so.1 => /lib/64/libuutil.so.1
> /platform/SUNW,T5440/lib/sparcv9/libc_psr.so.1
> /platform/SUNW,T5440/lib/sparcv9/libmd_psr.so.1
>
>
> On Wednesday, February 18, 2015 at 2:31:48 PM UTC+2, alexandros...@
> gmail.com wrote:
>>
>> I recent migrated to a new apache server and when i am trying to run my
>> wsgi project i am getting the below error.
>>
>> I manage to track down the problem, but i can not find how to fix it...
>>
>> The problem is in the
>> /opt/webtier/python_64/lib/python2.6/site-packages/django/utils/hashcompat.py,
>>
>> it tries to import hashlib and it fails. Since there is a try catch block
>> in the hashcompat.py it then tries to import md5 which is deprecated ....
>>
>>
>>
>> [Wed Feb 18 13:12:21 2015] [error] <mod_wsgi.Log object at 0x1007f6870>
>> [Wed Feb 18 13:12:22 2015] [error] | wgtproxy | __init__ |
>> [Wed Feb 18 13:12:22 2015] [error] | wgtproxy settings |
>> [Wed Feb 18 13:12:22 2015] [error]
>> /opt/webtier/python_64/lib/python2.6/site-packages/django/utils/hashcompat.py:15:
>>
>> DeprecationWarning: the md5 module is deprecated; use hashlib instead
>> [Wed Feb 18 13:12:22 2015] [error] import md5
>> [Wed Feb 18 13:12:22 2015] [error] [client xx.xx.xx.xx] mod_wsgi
>> (pid=15944): Exception occurred processing WSGI script
>> '/opt/wgt_proxy/wgtproxyProj/wgtproxy/apache/django.wsgi'.
>> [Wed Feb 18 13:12:22 2015] [error] [client xx.xx.xx.xx] Traceback (most
>> recent call last):
>> [Wed Feb 18 13:12:22 2015] [error] [client xx.xx.xx.xx] File
>> "/opt/webtier/python_64/lib/python2.6/site-packages/django/core/handlers/wsgi.py",
>>
>> line 230, in __call__
>> [Wed Feb 18 13:12:22 2015] [error] [client xx.xx.xx.xx]
>> self.load_middleware()
>> [Wed Feb 18 13:12:22 2015] [error] [client xx.xx.xx.xx] File
>> "/opt/webtier/python_64/lib/python2.6/site-packages/django/core/handlers/base.py",
>>
>> line 42, in load_middleware
>> [Wed Feb 18 13:12:22 2015] [error] [client xx.xx.xx.xx] raise
>> exceptions.ImproperlyConfigured('Error importing middleware %s: "%s"' %
>> (mw_module, e))
>> [Wed Feb 18 13:12:22 2015] [error] [client xx.xx.xx.xx]
>> ImproperlyConfigured: Error importing middleware django.middleware.common:
>> "No module named _md5"
>> [Wed Feb 18 13:12:22 2015] [error] [client xx.x.x.xx] Request Failed for
>> : /wgtproxy, Resp Code : [500]
>>
>>
>>
>> I did a test wsgi script that the only thing is to print "Hello word" but
>> at the beginning i am also importing hashlib in order to verify that the
>> hashlib is the problem :
>>
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] mod_wsgi
>> (pid=15943): Exception occurred processing WSGI script
>> '/opt/wgt_proxy/wgtproxyProj/wgtproxy/apache/test.wsgi'.
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] Traceback (most
>> recent call last):
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] File
>> "/opt/wgt_proxy/wgtproxyProj/wgtproxy/apache/test.wsgi", line 6, in <module>
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] import hashlib
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] File
>> "/opt/webtier/python_64/lib/python2.6/hashlib.py", line 136, in <module>
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] md5 =
>> __get_builtin_constructor('md5')
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] File
>> "/opt/webtier/python_64/lib/python2.6/hashlib.py", line 63, in
>> __get_builtin_constructor
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] import _md5
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] ImportError: No
>> module named _md5
>> [Wed Feb 18 14:16:32 2015] [error] [client xx.xx.xx.xx] Request Failed
>> for : /test, Resp Code : [500]
>>
>>
>> Αccording to
>> https://code.google.com/p/modwsgi/wiki/ApplicationIssues#SSL_Shared_Library_Conflicts
>>
>> it seems that when it tries to import hashlin it can not, the exception is
>> masked and tries to import _md5 which of course it does not exist ...
>>
>> The strange thing is that i can import hashlib without errors or
>> exceptions from python ... the issue is when apache+mod_wsgi tries to do it
>> it fails!
>>
>> I did also did the " ldd /bin/httpd " command but my apache is not
>> referencing any libssl.so library!!!
>>
>> Has anybody come across this issue ??? Can someone help???
>>
>>
>>
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected] <javascript:>
> .
> Visit this group at http://groups.google.com/group/modwsgi.
> For more options, visit https://groups.google.com/d/optout.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.