Crap, gave you wrong URL for test app. I meant:
https://raw.githubusercontent.com/GrahamDumpleton/mod_wsgi/develop/tests/environ.wsgi
<https://raw.githubusercontent.com/GrahamDumpleton/mod_wsgi/develop/tests/environ.wsgi>
Doesn’t matter.
If the directory /ade/b/3071542110/oracle/rdbms/lib doesn’t exist, then output
form ‘otool -L’ isn’t what I expect. You had:
/Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so:
/ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1 (compatibility
version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 1226.10.1)
Based on that, the directory '/ade/b/3071542110/oracle/rdbms/lib’ should exist
and should contain the file 'libclntsh.dylib.11.1’.
If it doesn’t, fine where 'libclntsh.dylib.11.1’ is located and set
DYLD_LIBRARY_PATH to the directory it is in.
Graham
> On 25 Aug 2016, at 9:54 AM, Teemu Korpijaakko <[email protected]> wrote:
>
> Oh, right! The browser window...there I see Hello World!
>
> That folder doesn't exist on the machine, but if I export first, I get the
> same result. 500 Internal Server Error and the same error in error_log.
>
>
>
> On Wed, Aug 24, 2016 at 7:32 PM, Graham Dumpleton <[email protected]
> <mailto:[email protected]>> wrote:
> For the environ WSGI script. The values of DYLD variables was interested in
> was what was shown in the browser window, not console. But then that wasn’t
> in console anyway, means shouldn’t be in browser either.
>
> I don’t understand why it would be required, but try setting:
>
> export DYLD_LIBRARY_PATH=/ade/b/3071542110/oracle/rdbms/lib
>
> before running mod_wsgi-express.
>
> This would normally be the solution, but don’t understand why would if ‘otool
> -L’ resolves properly.
>
> Graham
>
>> On 25 Aug 2016, at 9:23 AM, Teemu Korpijaakko <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> I'm nearly 100% certain that I unset it when I ran 'otool -L'
>>
>> Anyway, so the apachectl script is as expected.
>>
>> Here's the output after adding env to envvars:
>>
>> Server URL : http://localhost:8000/ <http://localhost:8000/>
>> Server Root : /tmp/mod_wsgi-localhost:8000:501
>>
>> Server Conf : /tmp/mod_wsgi-localhost:8000:501/httpd.conf
>>
>> Error Log File : /tmp/mod_wsgi-localhost:8000:501/error_log (warn)
>>
>> Request Capacity : 5 (1 process * 5 threads)
>>
>> Request Timeout : 60 (seconds)
>>
>> Queue Backlog : 100 (connections)
>>
>> Queue Timeout : 45 (seconds)
>>
>> Server Capacity : 20 (event/worker), 20 (prefork)
>>
>> Server Backlog : 500 (connections)
>>
>> Locale Setting : en_US.UTF-8
>>
>> MOD_WSGI_MODULES_DIRECTORY=/usr/libexec/apache2
>>
>> MOD_WSGI_SERVER_ROOT=/tmp/mod_wsgi-localhost:8000:501
>>
>> SHELL=/bin/bash
>>
>> TERM=xterm-256color
>>
>> SSH_CLIENT=192.168.254.106 56498 22
>>
>> TMPDIR=/var/folders/wd/kg12dkg908n42nzf75w6pr540000gn/T/
>>
>> SSH_TTY=/dev/ttys003
>>
>> LC_ALL=en_US.UTF-8
>>
>> USER=teemu
>>
>> MOD_WSGI_LISTENER_HOST=localhost
>>
>> __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
>>
>> PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>>
>> MAIL=/var/mail/teemu
>>
>> MOD_WSGI_HTTPS_PORT=None
>>
>> VERSIONER_PYTHON_VERSION=2.7
>>
>> PWD=/Users/teemu/edge_tools
>>
>> LANG=en_US.UTF-8
>>
>> MOD_WSGI_HTTP_PORT=8000
>>
>> HOME=/Users/teemu
>>
>> SHLVL=2
>>
>> MOD_WSGI_GROUP=staff
>>
>> MOD_WSGI_USER=teemu
>>
>> LOGNAME=teemu
>>
>> MOD_WSGI_WORKING_DIRECTORY=/Users/teemu/edge_tools
>>
>> VERSIONER_PYTHON_PREFER_32_BIT=no
>>
>> SSH_CONNECTION=192.168.254.106 56498 192.168.101.61 22
>>
>> _=/usr/bin/env
>>
>>
>> I don't see DYLD_LIBRARY_PATH there.
>>
>> When I run you test application, I see the following output:
>>
>> Teemus-Mac-mini:edge_tools teemu$ flask/bin/mod_wsgi-express start-server
>> events.wsgi
>>
>> Server URL : http://localhost:8000/ <http://localhost:8000/>
>> Server Root : /tmp/mod_wsgi-localhost:8000:501
>>
>> Server Conf : /tmp/mod_wsgi-localhost:8000:501/httpd.conf
>>
>> Error Log File : /tmp/mod_wsgi-localhost:8000:501/error_log (warn)
>>
>> Request Capacity : 5 (1 process * 5 threads)
>>
>> Request Timeout : 60 (seconds)
>>
>> Queue Backlog : 100 (connections)
>>
>> Queue Timeout : 45 (seconds)
>>
>> Server Capacity : 20 (event/worker), 20 (prefork)
>>
>> Server Backlog : 500 (connections)
>>
>> Locale Setting : en_US.UTF-8
>>
>> MOD_WSGI_MODULES_DIRECTORY=/usr/libexec/apache2
>>
>> MOD_WSGI_SERVER_ROOT=/tmp/mod_wsgi-localhost:8000:501
>>
>> SHELL=/bin/bash
>>
>> TERM=xterm-256color
>>
>> SSH_CLIENT=192.168.254.106 56498 22
>>
>> TMPDIR=/var/folders/wd/kg12dkg908n42nzf75w6pr540000gn/T/
>>
>> SSH_TTY=/dev/ttys003
>>
>> LC_ALL=en_US.UTF-8
>>
>> USER=teemu
>>
>> MOD_WSGI_LISTENER_HOST=localhost
>>
>> __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
>>
>> PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
>>
>> MAIL=/var/mail/teemu
>>
>> MOD_WSGI_HTTPS_PORT=None
>>
>> VERSIONER_PYTHON_VERSION=2.7
>>
>> PWD=/Users/teemu/edge_tools
>>
>> LANG=en_US.UTF-8
>>
>> MOD_WSGI_HTTP_PORT=8000
>>
>> HOME=/Users/teemu
>>
>> SHLVL=2
>>
>> MOD_WSGI_GROUP=staff
>>
>> MOD_WSGI_USER=teemu
>>
>> LOGNAME=teemu
>>
>> MOD_WSGI_WORKING_DIRECTORY=/Users/teemu/edge_tools
>>
>> VERSIONER_PYTHON_PREFER_32_BIT=no
>>
>> SSH_CONNECTION=192.168.254.106 56498 192.168.101.61 22
>>
>> _=/usr/bin/env
>>
>>
>>
>> Again, no DYLD_LIBRARY_PATH set
>>
>>
>>
>> FWIW, I have the Oracle file in /Users/teemu/edge_tools/oracle. This seems
>> to work fine for simply import cx_Oracle in the interpreter. Setting
>> DYLD_LIBRARY_PATH to whatever you end up configuring as ORACLE_HOME appears
>> to be SOP for the installation. In order to get cx_Oracle to install
>> properly, I had to set ORACLE_HOME and DYLD_LIBRARY_PATH to
>> /Users/teemu/edge_tools/oracle
>>
>>
>>
>>
>>
>>
>> On Wednesday, August 24, 2016 at 6:44:11 PM UTC-4, Graham Dumpleton wrote:
>> Okay, this is confusing.
>>
>> This specific problem is usually caused because Oracle libraries are not in
>> a standard directory location. It is therefore necessary to set
>> DYLD_LIBRARY_PATH environment variable to say where they reside.
>>
>> When I did the ‘otool -L’ test on cx_Oracle.so I asked you to ensure you had
>> unset the DYLD_LIBRARY_PATH environment variable. With that not set, if
>> DYLD_LIBRARY_PATH was required I would have expected ‘otool -L’ to not be
>> able to resolve the Oracle library, yet it was.
>>
>> Even if you hadn’t unset it, it means it was in your environment either way.
>> This means that when you ran mod_wsgi-express it should have inherited
>> DYLD_LIBRARY_PATH and it still should find the Oracle libraries when loading
>> cx_Oracle.so.
>>
>> Few more things to check.
>>
>> Find the ‘apachectl’ script that is generated by mod_wsgi-express. Usually
>> it would be at:
>>
>> /tmp/mod_wsgi-localhost\:8000\:502/apachectl
>>
>> What does it have for:
>>
>> SHLIBPATH=""
>>
>> if [ "x$SHLIBPATH" != "x" ]; then
>> DYLD_LIBRARY_PATH="$SHLIBPATH:$DYLD_LIBRARY_PATH"
>> export DYLD_LIBRARY_PATH
>> fi
>>
>> It should probably be the same, but want to check.
>>
>> Also edit:
>>
>> /tmp/mod_wsgi-localhost\:8000\:502/envvars
>>
>> and add to it:
>>
>> env
>>
>> This will output to console when running mod_wsgi-express all the
>> environment variables set.
>>
>> What does DYLD_LIBRARY_PATH show in that? Are there any other DYLD
>> environment variables set?
>>
>> Also trying running mod_wsgi-express with this test WSGI application:
>>
>>
>> https://raw.githubusercontent.com/GrahamDumpleton/mod_wsgi/develop/tests/events.wsgi
>>
>> <https://raw.githubusercontent.com/GrahamDumpleton/mod_wsgi/develop/tests/events.wsgi>
>>
>> What DYLD environment variables get through to the WSGI application.
>>
>> Graham
>>
>>> On 24 Aug 2016, at 11:44 PM, Teemu Korpijaakko <tko...@ <>gmail.com
>>> <http://gmail.com/>> wrote:
>>>
>>> I'm sorry. I forgot to run the virtualenv interpreter...
>>>
>>> ('HTTPD', '/usr/sbin/httpd')
>>>
>>> ('WITH_TARBALL_PACKAGE', False)
>>>
>>> ('ROTATELOGS', '/usr/sbin/rotatelogs')
>>>
>>> ('WITH_HTTPD_PACKAGE', False)
>>>
>>> ('__file__',
>>> '/Users/teemu/edge_tools/flask/lib/python2.7/site-packages/mod_wsgi/server/apxs_config.pyc')
>>>
>>> ('PROGNAME', 'httpd')
>>>
>>> ('__package__', 'mod_wsgi.server')
>>>
>>> ('SBINDIR', '/usr/sbin')
>>>
>>> ('MPM_NAME', '')
>>>
>>> ('LIBEXECDIR', '/usr/libexec/apache2')
>>>
>>> ('SHLIBPATH_VAR', 'DYLD_LIBRARY_PATH')
>>>
>>> ('__name__', 'mod_wsgi.server.apxs_config')
>>>
>>> ('SHLIBPATH', '')
>>>
>>> ('os', <module 'os' from
>>> '/Users/teemu/edge_tools/flask/lib/python2.7/os.pyc'>)
>>>
>>> ('__doc__', None)
>>>
>>> ('BINDIR', '/usr/bin')
>>>
>>>
>>>
>>>
>>> On Wednesday, August 24, 2016 at 9:39:20 AM UTC-4, Teemu Korpijaakko wrote:
>>> I'm getting ImportError: No module name mod_wsgi.server.apxs_config
>>>
>>> On Tuesday, August 23, 2016 at 11:36:55 PM UTC-4, Graham Dumpleton wrote:
>>> What do you get if you fire up the command line Python interpreter and
>>> enter:
>>>
>>> import mod_wsgi.server.apxs_config as config
>>> for k,v in config.__dict__.items():
>>> if k != '__builtins__': print(k, v))
>>>
>>> Graham
>>>
>>>> On 24 Aug 2016, at 6:50 AM, Teemu Korpijaakko <[email protected] <>> wrote:
>>>>
>>>> Thank you for the quick reply! I've run the commands you listed and the
>>>> output is as follows:
>>>>
>>>>
>>>>
>>>> /Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so:
>>>> Mach-O universal binary with 2 architectures
>>>>
>>>> /Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so
>>>> (for architecture i386): Mach-O bundle i386
>>>>
>>>> /Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so
>>>> (for architecture x86_64): Mach-O 64-bit bundle x86_64
>>>>
>>>>
>>>>
>>>> and
>>>>
>>>>
>>>>
>>>> /Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so:
>>>>
>>>> /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1 (compatibility
>>>> version 0.0.0, current version 0.0.0)
>>>>
>>>>
>>>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
>>>> version 1226.10.1)
>>>>
>>>>
>>>> On Tuesday, August 23, 2016 at 4:34:54 PM UTC-4, Graham Dumpleton wrote:
>>>> What do you get one when you run:
>>>>
>>>> file
>>>> /Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so
>>>>
>>>> and:
>>>>
>>>> otool -L
>>>> /Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so
>>>>
>>>> When doing the latter make sure that you don’t have ‘DYLD_LIBRARY_PATH’
>>>> environment variable set.
>>>>
>>>> On MacOS X that error generally means that the shared library hasn’t been
>>>> compiled as a fat binary. That is, doesn’t supply all architectures and it
>>>> more specifically doesn’t supply the architecture for what the Apache web
>>>> server is running as. This issue though hasn’t generally existed for ages
>>>> though as everything should be 64bit in MacOS X now.
>>>>
>>>> Graham
>>>>
>>>>> On 24 Aug 2016, at 5:52 AM, Teemu Korpijaakko <tko...@ <>gmail.com
>>>>> <http://gmail.com/>> wrote:
>>>>>
>>>>> So mod_wsgi-express seems like a lovely way to quickly deploy a fairly
>>>>> simple Flask application that I have, but I've run into an issue that I
>>>>> can't seem to solve. It's probably pretty simple though...my Flask
>>>>> application runs fine with the dev server included with Flask. When I
>>>>> attempt to run the same application using mod_wsgi-express start-server,
>>>>> it fails. Looking at the error log, I can see that i fails because the
>>>>> Oracle Instant client fails to load. How can I fix this? Python and
>>>>> Flask are all installed in a virtualenv.
>>>>>
>>>>> OS X El Capitan 10.11.6
>>>>>
>>>>> wsgi.py:
>>>>> from app import app as application
>>>>>
>>>>> snippet of error_log:
>>>>> [Tue Aug 23 12:47:05.771184 2016] [wsgi:error] [pid 1508] File
>>>>> "/Users/teemu/edge_tools/app/__init__.py", line 1, in <module>
>>>>>
>>>>> [Tue Aug 23 12:47:05.771210 2016] [wsgi:error] [pid 1508] import
>>>>> cx_Oracle
>>>>>
>>>>> [Tue Aug 23 12:47:05.771225 2016] [wsgi:error] [pid 1508] ImportError:
>>>>> dlopen(/Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so,
>>>>> 2): Library not loaded:
>>>>> /ade/b/3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
>>>>>
>>>>> [Tue Aug 23 12:47:05.771229 2016] [wsgi:error] [pid 1508] Referenced
>>>>> from:
>>>>> /Users/teemu/edge_tools/flask/lib/python2.7/site-packages/cx_Oracle.so
>>>>>
>>>>> [Tue Aug 23 12:47:05.771231 2016] [wsgi:error] [pid 1508] Reason: image
>>>>> not found
>>>>>
>>>>> [Tue Aug 23 12:47:46.005206 2016] [mpm_prefork:notice] [pid 1506]
>>>>> AH00169: caught SIGTERM, shutting down
>>>>>
>>>>
>>>>
>>>> --
>>>> 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 modwsgi+u...@ <>googlegroups. <http://googlegroups.com/>com
>>>> <http://googlegroups.com/>.
>>>> To post to this group, send email to mod...@ <>googlegroups.com
>>>> <http://googlegroups.com/>.
>>>> Visit this group at https://groups.google.com/group/modwsgi
>>>> <https://groups.google.com/group/modwsgi>.
>>>> For more options, visit https://groups.google.com/d/optout
>>>> <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 https://groups.google.com/group/modwsgi
>>> <https://groups.google.com/group/modwsgi>.
>>> For more options, visit https://groups.google.com/d/optout
>>> <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]
>> <mailto:[email protected]>.
>> To post to this group, send email to [email protected]
>> <mailto:[email protected]>.
>> Visit this group at https://groups.google.com/group/modwsgi
>> <https://groups.google.com/group/modwsgi>.
>> For more options, visit https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>
>
> --
> You received this message because you are subscribed to a topic in the Google
> Groups "modwsgi" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/modwsgi/DjR37hyY6Q4/unsubscribe
> <https://groups.google.com/d/topic/modwsgi/DjR37hyY6Q4/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to
> [email protected]
> <mailto:[email protected]>.
> To post to this group, send email to [email protected]
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/modwsgi
> <https://groups.google.com/group/modwsgi>.
> For more options, visit https://groups.google.com/d/optout
> <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]
> <mailto:[email protected]>.
> To post to this group, send email to [email protected]
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/modwsgi
> <https://groups.google.com/group/modwsgi>.
> For more options, visit https://groups.google.com/d/optout
> <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 https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.