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.

Reply via email to