Running 'python setup.py install' with APXS environment variable set should also work.
> On 9 Nov 2017, at 11:03 am, O haya <jim...@gmail.com> wrote: > > YES!! That did it and I was able to start Apache 2.4.29 after I added: > > LoadModule wsgi_module > "/apps/python-3.6.3/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so" > > to the httpd.conf, and this was even without needing to export > LD_LIBRARY_PATH! > > > Now that I was able to do that, do you think that if I had exported the APXS > that I could've used: > > python3.6 setup.py install > > instead of the "pip3.6 install mod_wsgi"? > > The reason I ask is that, at work, I don't think I'll be able to use pip3.6 > since it looks like it needs to connect out. > > Thanks! > > Jim > > > > On Wednesday, November 8, 2017 at 6:38:40 PM UTC-5, Graham Dumpleton wrote: > >> On 9 Nov 2017, at 10:37 am, O haya <jim...@ <>gmail.com <http://gmail.com/>> >> wrote: >> >> Hi, >> >> I got this when I ran that: >> >> export AXPS=/apps/httpd-2.4.29/bin/apxs >> >> pip3.6 install --no-cache-dir mod_wsgi >> Requirement already satisfied: mod_wsgi in >> /apps/python-3.6.3/lib/python3.6/site-packages > > Run: > > pip uninstall mod_wsgi > > first, or use: > > pip3.6 install --no-cache-dir --update mod_wsgi > >> >> >> On Wednesday, November 8, 2017 at 6:10:12 AM UTC-5, Graham Dumpleton wrote: >> Do not use code.google.com <http://code.google.com/> site for docs. The docs >> can be found by going to www.modwsgi.org <http://www.modwsgi.org/>. >> >> For creating a working Python installation read: >> >> >> http://blog.dscpl.com.au/2015/06/installing-custom-python-version-into.html >> <http://blog.dscpl.com.au/2015/06/installing-custom-python-version-into.html> >> >> Ignore that it talks about Docker. Information still relevant. >> >> Your 'ap_accept_lock_mech' issue is then likely due to using the wrong apxs >> program for the Apache install you want to use. >> >> Find the 'apxs' program for the Apache you want to use and then run 'pip' as: >> >> APXS=/some/path/apxs pip install --no-cache-dir mod_wsgi >> >> You likely have a broken mod_wsgi compiled version cached and need for it to >> be skipped. >> >> Graham >> >>> On 8 Nov 2017, at 5:17 pm, O haya <jim...@ <>gmail.com <http://gmail.com/>> >>> wrote: >>> >>> Oh oh, problem :(.... >>> >>> I added: >>> >>> LoadModule wsgi_module >>> "/apps/python-3.6.3/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so >>> <http://mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so/>" >>> >>> to the new Apache 2.4.29 httpd.conf and then tried to start the Apache and >>> I think that I am back to the same error from before: >>> >>> [oracle@apache1 bin]$ /apps/httpd-2.4.29/bin/apachectl start >>> httpd: Syntax error on line 168 of /apps/httpd-2.4.29/conf/httpd.conf: >>> Cannot load >>> /apps/python-3.6.3/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so >>> <http://mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so/> into server: >>> /apps/python-3.6.3/lib/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so >>> <http://mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so/>: undefined symbol: >>> ap_accept_lock_mech >>> >>> >>> :( ??? >>> >>> Jim >>> >>> >>> >>> >>> On Wednesday, November 8, 2017 at 1:08:53 AM UTC-5, O haya wrote: >>> Ok, I am re-reading your page: >>> >>> https://code.google.com/archive/p/modwsgi/wikis/InstallationIssues.wiki >>> <https://code.google.com/archive/p/modwsgi/wikis/InstallationIssues.wiki> >>> >>> When I read before, I couldn't find any "config" directory under my new >>> python dir, but I think that you mean this directory? >>> >>> [root@apache1 config-3.6m-x86_64-linux-gnu]# pwd >>> /apps/python-3.6.3/lib/python3.6/config-3.6m-x86_64-linux-gnu >>> [root@apache1 config-3.6m-x86_64-linux-gnu]# ls -al >>> total 15644 >>> drwxr-xr-x 2 root root 4096 Nov 8 00:43 . >>> drwxr-xr-x 35 root root 4096 Nov 8 00:33 .. >>> -rw-r--r-- 1 root root 3302 Nov 8 00:33 config.c >>> -rw-r--r-- 1 root root 1621 Nov 8 00:33 config.c.in >>> <http://config.c.in/> >>> -rwxr-xr-x 1 root root 7122 Nov 8 00:33 install-sh >>> -rw-r--r-- 1 root root 15874060 Nov 8 00:33 libpython3.6m.a >>> lrwxrwxrwx 1 root root 19 Nov 8 00:43 libpython3.so -> >>> ../../libpython3.so >>> -rw-r--r-- 1 root root 67977 Nov 8 00:33 Makefile >>> -rwxr-xr-x 1 root root 7521 Nov 8 00:33 makesetup >>> -rwxr-xr-x 1 root root 2050 Nov 8 00:33 python-config.py >>> -rw-r--r-- 1 root root 10096 Nov 8 00:33 python.o >>> -rw-r--r-- 1 root root 15322 Nov 8 00:33 Setup >>> -rw-r--r-- 1 root root 327 Nov 8 00:33 Setup.config >>> -rw-r--r-- 1 root root 41 Nov 8 00:33 Setup.local >>> >>> So I re-built Python 3.6.3, with the "--enable-shared" and I think I >>> figured out where the 'config' dir you were referring to (above). >>> >>> As you can see, I have now added a softlink for libpython3.so but now I am >>> still getting an error, even if run just "python3.6 -V": >>> >>> [root@apache1 config-3.6m-x86_64-linux-gnu]# python3.6 -V >>> python3.6: error while loading shared libraries: libpython3.6m.so.1.0: >>> cannot open shared object file: No such file or directory >>> >>> So I added another softlink to "libpython3.6m.so.1.0": >>> >>> >>> [root@apache1 config-3.6m-x86_64-linux-gnu]# ls -al >>> total 15644 >>> drwxr-xr-x 2 root root 4096 Nov 8 00:56 . >>> drwxr-xr-x 35 root root 4096 Nov 8 00:33 .. >>> -rw-r--r-- 1 root root 3302 Nov 8 00:33 config.c >>> -rw-r--r-- 1 root root 1621 Nov 8 00:33 config.c.in >>> <http://config.c.in/> >>> -rwxr-xr-x 1 root root 7122 Nov 8 00:33 install-sh >>> -rw-r--r-- 1 root root 15874060 Nov 8 00:33 libpython3.6m.a >>> lrwxrwxrwx 1 root root 26 Nov 8 00:56 libpython3.6m.so.1.0 -> >>> ../../libpython3.6m.so.1.0 >>> lrwxrwxrwx 1 root root 19 Nov 8 00:43 libpython3.so -> >>> ../../libpython3.so >>> -rw-r--r-- 1 root root 67977 Nov 8 00:33 Makefile >>> -rwxr-xr-x 1 root root 7521 Nov 8 00:33 makesetup >>> -rwxr-xr-x 1 root root 2050 Nov 8 00:33 python-config.py >>> -rw-r--r-- 1 root root 10096 Nov 8 00:33 python.o >>> -rw-r--r-- 1 root root 15322 Nov 8 00:33 Setup >>> -rw-r--r-- 1 root root 327 Nov 8 00:33 Setup.config >>> -rw-r--r-- 1 root root 41 Nov 8 00:33 Setup.local >>> [root@apache1 config-3.6m-x86_64-linux-gnu]# >>> >>> >>> but I still get an error: >>> >>> [root@apache1 config-3.6m-x86_64-linux-gnu]# python3.6 -V >>> python3.6: error while loading shared libraries: libpython3.6m.so.1.0: >>> cannot open shared object file: No such file or directory >>> >>> I also added a softlink for libpython3.6m.so <http://libpython3.6m.so/> but >>> same error?? >>> >>> Then I added "export LD_LIBRARY_PATH=/apps/python-3.6.3/lib/" and then >>> "python3.6 -V" worked. >>> >>> >>> Is THAT (adding the LD_LIBRARY_PATH necessary)? >>> >>> Or, putting that another way, what did I do wrong that caused adding the >>> LD_LIBRARY_PATH to be a necessity? >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> On Wednesday, November 8, 2017 at 12:21:05 AM UTC-5, O haya wrote: >>> Correcting my memory... the "python3.6 setup.py" had the same problem (now >>> I cannot recall how I got the "mod_wsgi-express start-server" to work): >>> >>> r/wsgi_apache.o build/temp.linux-x86_64-3.6/src/server/wsgi_metrics.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_thread.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_memory.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_interp.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_server.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_stream.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_daemon.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_restrict.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_validate.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_buckets.o >>> build/temp.linux-x86_64-3.6/src/server/wsgi_logger.o -o >>> build/lib.linux-x86_64-3.6/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so >>> <http://mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so/> >>> -L/apps/python-3.6.3/lib -L/apps/python-3.6.3/lib/python3.6/config-3.6m >>> -lpython3.6m >>> /usr/bin/ld: /apps/python-3.6.3/lib/libpython3.6m.a(abstract.o): relocation >>> R_X86_64_32S against `_PyObject_NextNotImplemented' can not be used when >>> making a shared object; recompile with -fPIC >>> /apps/python-3.6.3/lib/libpython3.6m.a: could not read symbols: Bad value >>> collect2: ld returned 1 exit status >>> error: command 'gcc' failed with exit status 1 >>> >>> >>> >>> >>> >>> >>> >>> On Wednesday, November 8, 2017 at 12:17:06 AM UTC-5, O haya wrote: >>> Now I remember, this is what happened when I tried to run "pip3.6 install >>> mod_wsgi": >>> >>> server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so >>> <http://mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so/> >>> -L/apps/python-3.6.3/lib -L/apps/python-3.6.3/lib/python3.6/config-3.6m >>> -lpython3.6m >>> /usr/bin/ld: /apps/python-3.6.3/lib/libpython3.6m.a(abstract.o): >>> relocation R_X86_64_32S against `_PyObject_NextNotImplemented' can not be >>> used when making a shared object; recompile with -fPIC >>> /apps/python-3.6.3/lib/libpython3.6m.a: could not read symbols: Bad >>> value >>> collect2: ld returned 1 exit status >>> error: command 'gcc' failed with exit status 1 >>> >>> ---------------------------------------- >>> Command "/apps/python-3.6.3/bin/python3.6 -u -c "import setuptools, >>> tokenize;__file__='/tmp/pip-build-lsdntr6f/mod-wsgi/setup.py';f=getattr(tokenize, >>> 'open', open)(__file__);code=f.read().replace('\r\n', >>> '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record >>> /tmp/pip-ltr8j01f-record/install-record.txt >>> --single-version-externally-managed --compile" failed with error code 1 in >>> /tmp/pip-build-lsdntr6f/mod-wsgi/ >>> >>> >>> I will try the setup.py next... I think that was the one that worked >>> better... >>> >>> >>> >>> >>> >>> On Wednesday, November 8, 2017 at 12:05:49 AM UTC-5, O haya wrote: >>> Hi, >>> >>> Ok thanks for that info. >>> >>> I didn't get into detail earlier, but among the attempts that I tried to >>> build mod-wsgi earlier, I actually DID get the "mod_wsgi-express >>> start-server" to work, but then when I tried to add the LoadModule to my >>> Apache 2.4.25, the Apache still failed again, for the same error (the one >>> with "mech" in the error message). The configuration is now gone (I >>> restored a snapshot). >>> >>> I have to think about this some more :(... >>> >>> Jim >>> >>> >>> On Tuesday, November 7, 2017 at 11:28:13 PM UTC-5, Graham Dumpleton wrote: >>> Short answer is you cannot use a mod_wsgi.so from a yum package against >>> anything but the binary distribution of Apache it was built for. You cannot >>> use it with a separate Apache you compiled from source code as how it was >>> built would likely be incompatible. >>> >>> I can only recommend you start out with the pip method for installation as >>> described in the issue at: >>> >>> * https://github.com/GrahamDumpleton/mod_wsgi >>> <https://github.com/GrahamDumpleton/mod_wsgi> >>> >>> as the easiest way to move forward. >>> >>> If you cannot get that working as I described such that 'mod_wsgi-express >>> start-server' does something, you need to provide the details of what >>> errors you are getting and what you were doing at that point. I can't guess >>> why you can't install it without seeing the errors. >>> >>> Also use either the mailing list or the issue, and not both. >>> >>> Graham >>> >>>> On 8 Nov 2017, at 3:22 PM, O haya <jim...@gmail.com <>> wrote: >>>> >>>> Hi, >>>> >>>> Re. why I was copying the mod_wsgi.so - that was mainly because I was >>>> trying to get it into the Apache modules directory. FYI, I also tried >>>> just using the path+file to the mod_wsgi.so in the LoadModule, with same >>>> symptoms. >>>> >>>> Re. was Apache installed by yum - no, it was built from the Apache 2.4.25 >>>> source (originally from a tar.gz from apache.org <http://apache.org/>). >>>> >>>> Re. "Are you also trying to install mod_wsgi using pip?" - I am not sure >>>> what you mean by that, but as I mentioned on the issues (which I assume >>>> you saw), after I failed trying to get the built-mod_wsgi.so (from yum >>>> install) working I tried building the mod_wsgi a number of times, >>>> including using the system.py approach, the pip install and also the >>>> configure/make/make altinstall - all failed. >>>> >>>> Re. "the Apache installation you are using is much older than the version >>>> the mod_wsgi module was compiled for." - The Apache I was trying was built >>>> from the 2.4.25 source. Current Apache source on apache.org >>>> <http://apache.org/> is 2.4.29, so it's not terribly old :). So are you >>>> saying that you think that if I went to say build Apache 2.4.29 that the >>>> mod_wsgi from yum would work? >>>> >>>> If so, I would try that, but FYI, our Apaches at work are even older that >>>> the 2.4.25, so if we want mod_wsgi for those would an older mod_wsgi >>>> (either rpm maybe or source) work with the older Apache? >>>> >>>> Thanks, >>>> Jim >>>> >>>> >>>> On Tuesday, November 7, 2017 at 6:51:38 PM UTC-5, Graham Dumpleton wrote: >>>> I am confused about why you are copying the mod_wsgi.so file anywhere. >>>> When you install mod_wsgi using yum, it should put everything in the >>>> correct place to start with. >>>> >>>> Are you also using Apache install by yum? >>>> >>>> Are you also trying to install mod_wsgi using pip? >>>> >>>> That error indicates that the Apache installation you are using is much >>>> older than the version the mod_wsgi module was compiled for. >>>> >>>> Graham >>>> >>>>> On 8 Nov 2017, at 10:37 AM, O haya <jim...@ <>gmail.com >>>>> <http://gmail.com/>> wrote: >>>>> >>>>> Hi, >>>>> >>>>> I am trying to use WSGI on Apache 2.4.x on CENTOS. >>>>> >>>>> I installed mod_wsgi using yum (yum install mod_wsgi), then I copied the >>>>> mod_wsgi.so to the Apache modules dir and added a Load Module for >>>>> mod_wsgi. >>>>> >>>>> However, when I try to start Apache I am getting this: >>>>> >>>>> /apps/apache/bin/apachectl start >>>>> >>>>> httpd: Syntax error on line 152 of /apps/apache/conf/httpd.conf: Cannot >>>>> load modules/mod_wsgi.so into server: /apps/apache/modules/mod_wsgi.so: >>>>> undefined symbol: ap_accept_lock_mech >>>>> >>>>> Can anyone tell me why this error is occurring and also, how can I get >>>>> mod_wsgi to work? >>>>> >>>>> Thanks, >>>>> Jim >>>>> >>>>> -- >>>>> 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.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 modwsgi+u...@googlegroups.com <>. >>>> To post to this group, send email to mod...@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 modwsgi+u...@googlegroups.com <>. >>> To post to this group, send email to mod...@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 modwsgi+u...@googlegroups.com <>. >> To post to this group, send email to mod...@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 modwsgi+unsubscr...@googlegroups.com > <mailto:modwsgi+unsubscr...@googlegroups.com>. > To post to this group, send email to modwsgi@googlegroups.com > <mailto:modwsgi@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 modwsgi+unsubscr...@googlegroups.com. To post to this group, send email to modwsgi@googlegroups.com. Visit this group at https://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.