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]> 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 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