Oops - I have one more question: I think that in the attempt just made, I had re-built the Apache and used the "--enable-shared" on the Apache configure. Is that (using --enable-shared) necessary when building the Apache, in order for the mod_wsgi to work with the Apache? I have to try later tonight, but just was wondering if you knew the answer to that?
The reason for this question is I am pretty sure they don't use "--enable-shared" when they build our Apaches. Thanks for ALL of your help! Jim On Thursday, November 9, 2017 at 6:35:34 AM UTC-5, O haya wrote: > > Cool! Worked! > > On Wednesday, November 8, 2017 at 7:04:46 PM UTC-5, Graham Dumpleton wrote: >> >> Running 'python setup.py install' with APXS environment variable set >> should also work. >> >> On 9 Nov 2017, at 11:03 am, O haya <[email protected]> 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 <[email protected]> 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 site for docs. The docs can be found by >>>> going to www.modwsgi.org. >>>> >>>> For creating a working Python installation read: >>>> >>>> >>>> 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 <[email protected]> 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" >>>> >>>> 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 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: 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 >>>>> >>>>> 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 >>>>> -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 >>>>> -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 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 -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 >>>>>>> -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 >>>>>>>>> >>>>>>>>> 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 <[email protected]> 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). >>>>>>>>> >>>>>>>>> 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 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 <[email protected]> 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 [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]. >>>>>>>>> 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]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/modwsgi.<br >>> style="font-family:Helvetica;font-size:18px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;te >>> >>> -- 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.
