I've done that and nothing changes. Also, if I export DYLD_LIBRARY_PATH right before running mod_wsgi-express, I still don't see it listed in the envvar output?
This is confusing me! On Wednesday, August 24, 2016 at 7:58:38 PM UTC-4, Graham Dumpleton wrote: > > Crap, gave you wrong URL for test app. I meant: > > > 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] > <javascript:>> 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] > <javascript:>> 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] >> <javascript:>> 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/ >> >> 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/ >> >> 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 >>> >>> What DYLD environment variables get through to the WSGI application. >>> >>> Graham >>> >>> On 24 Aug 2016, at 11:44 PM, Teemu Korpijaakko <[email protected]> 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 <[email protected]> >>>>>> 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 [email protected]. >>>>> Visit this group at https://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 https://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] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://groups.google.com/group/modwsgi. >> For more options, visit 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. >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://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] <javascript:>. > To post to this group, send email to [email protected] <javascript:> > . > Visit this group at https://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 https://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.
