I'll look at that. Actually I built the server myself on a digitalocean <https://www.digitalocean.com/> "droplet" (virtual server), and am pretty sure I wouldn't have changed anything along those lines. I don't remember exactly how I put the Centos 7 on the droplet, but checking now I see that digitalocean has a way to create the droplet with a specific image.
Off topic, but I have to do some research before I go to a newer linux version (and in doing so allow myself to follow later python versions) -- I think Centos is doing something weird with their "stream" images. I see "Centos 8 stream" and "Centos 9 stream" as options now. IIRC, RockyLinux has "fixed" versions which act like earlier Centos versions (yup: https://rockylinux.org/) On Thursday, June 23, 2022 at 6:24:34 PM UTC-4 Graham Dumpleton wrote: > It is odd that you need to force /usr/local/lib into LD_LIBRARY_PATH at > run time. I thought that was a standard directory Linux systems would > check. Looks like someone has mucked up the ld.so.cache. > > On 24 Jun 2022, at 3:53 am, Lou King <[email protected]> wrote: > > Success! > > Based on your blog post, I looked at how centos 7 python 3.6 was compiled, > removed all the switches about redhat build and host, and referencing > specific directories and used the remaining for my ./configure execution > > $ diff python3.6-options.txt python3.6-options-shortened.txt > 1,3d0 > < '--build=x86_64-redhat-linux-gnu' > < '--host=x86_64-redhat-linux-gnu' > < '--program-prefix=' > 5,17d1 > < '--prefix=/usr' > < '--exec-prefix=/usr' > < '--bindir=/usr/bin' > < '--sbindir=/usr/sbin' > < '--sysconfdir=/etc' > < '--datadir=/usr/share' > < '--includedir=/usr/include' > < '--libdir=/usr/lib64' > < '--libexecdir=/usr/libexec' > < '--localstatedir=/var' > < '--sharedstatedir=/var/lib' > < '--mandir=/usr/share/man' > < '--infodir=/usr/share/info' > 29,30d12 > < 'build_alias=x86_64-redhat-linux-gnu' > < 'host_alias=x86_64-redhat-linux-gnu' > > so my resulting ./configure was as follows > > ./configure '--disable-dependency-tracking' '--enable-ipv6' > '--enable-shared' '--with-computed-gotos=yes' > '--with-dbmliborder=gdbm:ndbm:bdb' '--with-system-expat' > '--with-system-ffi' '--enable-loadable-sqlite-extensions' '--with-dtrace' > '--with-ssl-default-suites=openssl' '--without-ensurepip' > '--enable-optimizations' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 > -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv ' > 'LDFLAGS=-Wl,-z,relro -g ' 'CPPFLAGS= ' > 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig' > > It turns out on centos 7 --disable-dependency-tracking and > --with-system-ffi were unneeded, but I left them in because I had other > issues I thought might have been caused by them and leaving them in seemed > benign. (apparently I had left some garbage from an interim build which > apparently wasn't cleaned up from make clean, so I had to start my build > from scratch, but this became apparent right after removing those switches) > > configure: WARNING: unrecognized options: --disable-dependency-tracking > configure: WARNING: --with(out)-system-ffi is ignored on this platform > > Note for my configuration, I need > LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib so python3.9 can find > the shared library. > On Saturday, June 18, 2022 at 5:25:55 PM UTC-4 Graham Dumpleton wrote: > >> If you are building your own Python make sure you read: >> >> * >> http://blog.dscpl.com.au/2015/06/installing-custom-python-version-into.html >> >> Ignore that it talks about docker. >> >> In the past at least, Python out of the box with no configuration doesn't >> build how you would want it to. Not sure if same is still the case. >> >> Also be wary of using pyenv to create Python installations, it has a >> history of not building things in a way that works with embedded systems. >> >> On 19 Jun 2022, at 2:52 am, Lou King <[email protected]> wrote: >> >> On the off chance, I followed >> https://modwsgi.readthedocs.io/en/master/user-guides/installation-issues.html#undefined-forkpty-on-fedora-7 >> and edited envvars as follows >> >> LD_PRELOAD=/usr/lib64/libutil.so >> export LD_PRELOAD >> >> now I see >> >> $ sudo /etc/mod_wsgi-express/sandbox.routes.loutilities.com/apachectl >> start >> httpd (mod_wsgi-express): Syntax error on line 163 of >> /etc/mod_wsgi-express/sandbox.routes.loutilities.com/httpd.conf:Cannot >> load /var/www/ >> sandbox.routes.loutilities.com/venv/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so >> into server: /var/www/ >> sandbox.routes.loutilities.com/venv/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so: >> undefined symbol: sincos >> >> I see something at >> https://stackoverflow.com/questions/23719304/error-on-apache2-restart-using-mod-python-undefined-symbol-sincos >> and wondering if I should have done anything differently while building >> python? >> On Saturday, June 18, 2022 at 12:27:25 PM UTC-4 Lou King wrote: >> >>> I built python 3.9.13, which uses the system openssl (same as apache, I >>> assue). Now I see the following >>> >>> $ sudo /etc/mod_wsgi-express/sandbox.routes.loutilities.com/apachectl >>> start >>> httpd (mod_wsgi-express): Syntax error on line 163 of >>> /etc/mod_wsgi-express/sandbox.routes.loutilities.com/httpd.conf: Cannot >>> load /var/www/ >>> sandbox.routes.loutilities.com/venv/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so >>> into server: /var/www/ >>> sandbox.routes.loutilities.com/venv/lib/python3.9/site-packages/mod_wsgi/server/mod_wsgi-py39.cpython-39-x86_64-linux-gnu.so: >>> >>> undefined symbol: forkpty >>> >>> On Thursday, June 16, 2022 at 5:18:16 PM UTC-4 Lou King wrote: >>> >>>> Wow, thanks. This is great information. >>>> >>>> I think this means I can't go to python 3.10 because as I understand, >>>> it requires an openssl upgrade. >>>> >>>> On Thu, Jun 16, 2022, 4:49 PM Graham Dumpleton <[email protected]> >>>> wrote: >>>> >>>>> Your Apache installation and Python installations are compiled against >>>>> different SSL library versions. You can't have this, they need to match. >>>>> You would need to build any custom Python version against same system SSL >>>>> libraries that system Apache is using. >>>>> >>>>> On 8 Jun 2022, at 3:50 am, Lou King <[email protected]> wrote: >>>>> >>>>> FWIW, I tried rerunning mod_wsgi-express setup-server, and get the >>>>> same results >>>>> >>>>> $ sudo >>>>> LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/custom-openssl/lib >>>>> /root/bin/init-mod_wsgi-express runningroutes >>>>> sandbox.routes.loutilities.com routesmgr routesmgr 8002 >>>>> Server URL : http://proxysvr.loutilities.com:8002/ >>>>> Server Root : /etc/mod_wsgi-express/ >>>>> sandbox.routes.loutilities.com >>>>> Server Conf : /etc/mod_wsgi-express/ >>>>> sandbox.routes.loutilities.com/httpd.conf >>>>> Error Log File : /etc/mod_wsgi-express/ >>>>> sandbox.routes.loutilities.com/error_log (warn) >>>>> Rewrite Rules : /etc/mod_wsgi-express/ >>>>> sandbox.routes.loutilities.com/rewrite.conf >>>>> Environ Variables : /etc/mod_wsgi-express/ >>>>> sandbox.routes.loutilities.com/envvars >>>>> Control Script : /etc/mod_wsgi-express/ >>>>> sandbox.routes.loutilities.com/apachectl >>>>> Operating Mode : daemon >>>>> Request Capacity : 5 (1 process * 5 threads) >>>>> Request Timeout : 60 (seconds) >>>>> Startup Timeout : 15 (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 >>>>> $ sudo /etc/mod_wsgi-express/sandbox.routes.loutilities.com/apachectl >>>>> start >>>>> httpd (mod_wsgi-express): Syntax error on line 163 of >>>>> /etc/mod_wsgi-express/sandbox.routes.loutilities.com/httpd.conf:Cannot >>>>> load /var/www/ >>>>> sandbox.routes.loutilities.com/venv/lib/python3.10/site-packages/mod_wsgi/server/mod_wsgi-py310.cpython-310-x86_64-linux-gnu.so >>>>> into server: /var/www/ >>>>> sandbox.routes.loutilities.com/venv/lib/python3.10/site-packages/mod_wsgi/server/mod_wsgi-py310.cpython-310-x86_64-linux-gnu.so: >>>>> undefined symbol: GENERAL_NAME_free >>>>> >>>>> where >>>>> >>>>> $ sudo cat /root/bin/init-mod_wsgi-express >>>>> #!/bin/bash >>>>> if [[ $# -lt 5 ]] ; then >>>>> echo "usage:" >>>>> echo " init-mod_wsgi-express project servername user group port" >>>>> exit 0 >>>>> fi >>>>> >>>>> source /var/www/$2/venv/bin/activate >>>>> mod_wsgi-express setup-server --server-name proxysvr.loutilities.com >>>>> --port >>>>> $5 --user $3 --group $4 /var/www/$2/$1/$1/$1.wsgi --working-directory >>>>> /var/www/$2/$1/$1/ --server-root /etc/mod_wsgi-express/$2 >>>>> deactivate >>>>> >>>>> >>>>> >>>>> On Monday, June 6, 2022 at 6:43:46 AM UTC-4 Lou King wrote: >>>>> >>>>>> I'm getting an error trying to start a service which uses mod_wsgi >>>>>> 4.9.1 in a virtual environment. >>>>>> >>>>>> On my centos 7 system, I compiled python 3.10, which is altinstalled >>>>>> to /usr/local/bin/python3.10 >>>>>> >>>>>> I have a virtualenv, but may have initially built mod_wsgi with an >>>>>> earlier version of python 3.10 (I was having trouble getting it to build >>>>>> correctly). However, my last attempt I used >>>>>> >>>>>> pip install --ignore-installed --no-cache-dir mod_wsgi==4.9.1 >>>>>> --no-binary mod_wsgi >>>>>> >>>>>> to try to get it to build with the latest python3.10 (I tried several >>>>>> pip installs, starting with just --no-cache-dir) >>>>>> >>>>>> Note I am trying to upgrade several applications to python3.10, so >>>>>> for the most part I have left the original files created by >>>>>> mod_wsgi-express >>>>>> setup-serveralone under the centos7 yum installed python 3.6, >>>>>> mod_wsgi 4.7.0 >>>>>> >>>>>> I've hand-edited /etc/mod_wsgi-express/ >>>>>> sandbox.routes.loutilities.com/httpd.conf as follows >>>>>> 159c159 >>>>>> < LoadModule wsgi_module '/var/www/ >>>>>> sandbox.routes.loutilities.com/venv/lib64/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so >>>>>> ' >>>>>> --- >>>>>> > LoadModule wsgi_module '/var/www/ >>>>>> sandbox.routes.loutilities.com/venv/lib64/python3.10/site-packages/mod_wsgi/server/mod_wsgi-py310.cpython-310-x86_64-linux-gnu.so >>>>>> ' >>>>>> >>>>>> I'm not sure this is sufficient to "shift" to the new python version, >>>>>> but I was hoping to touch as little as possible rather than setting >>>>>> everything up again for 8 applications. >>>>>> I see the following in journalctl when I try to start the service. >>>>>> >>>>>> Jun 05 08:55:02 loutility-server-digitalocean apachectl[23870]: httpd >>>>>> (mod_wsgi-express): Syntax error on line 159 of /etc/mod_wsgi-express/ >>>>>> sandbox.routes.loutilities.com/httpd.conf: Cannot load /var/www/ >>>>>> sandbox.routes.loutilities.com/venv/lib64/python3.10/site-packages/mod_wsgi/server/mod_wsgi-py310.cpython-310-x86_64-linux-gnu.so >>>>>> into server: /var/www/ >>>>>> sandbox.routes.loutilities.com/venv/lib64/python3.10/site-packages/mod_wsgi/server/mod_wsgi-py310.cpython-310-x86_64-linux-gnu.so: >>>>>> >>>>>> undefined symbol: GENERAL_NAME_free >>>>>> >>>>>> I notice the following from the build directory >>>>>> >>>>>> Python-3.10.4]$ grep -R GENERAL_NAME_free . ./Modules/_ssl.c: >>>>>> sk_GENERAL_NAME_pop_free(names, GENERAL_NAME_free); >>>>>> Binary file ./Modules/_ssl.o matches >>>>>> Binary file ./python matches >>>>>> Binary file ./libpython3.10.a matches Binary file >>>>>> ./Programs/_testembed matches >>>>>> >>>>>> and libpython3.10.a is in >>>>>> /usr/local/lib/python3.10/config-3.10-x86_64-linux-gnu: >>>>>> >>>>>> $ find /usr/local/lib -name libpython3.10.a >>>>>> /usr/local/lib/libpython3.10.a >>>>>> /usr/local/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.a >>>>>> >>>>>> What other debugging steps should I take? Do I need to re-run >>>>>> mod_wsgi-express? setup-server. Is mod_wsgi not being built >>>>>> correctly? Or something else? >>>>>> >>>>> >>>>> -- >>>>> 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 view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/modwsgi/ca6481d3-bded-4b98-9437-5d10992762ffn%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/modwsgi/ca6481d3-bded-4b98-9437-5d10992762ffn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>>> >>>>> >>>>> -- >>>>> >>>> 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/KZZQHpFclGA/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/modwsgi/29311AFA-71AC-4621-AE08-DA0DAC5C1219%40gmail.com >>>>> >>>>> <https://groups.google.com/d/msgid/modwsgi/29311AFA-71AC-4621-AE08-DA0DAC5C1219%40gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> >> -- >> 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 view this discussion on the web visit >> https://groups.google.com/d/msgid/modwsgi/e5b4ffab-a80f-49da-a82a-c37e909af436n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/modwsgi/e5b4ffab-a80f-49da-a82a-c37e909af436n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> >> > -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/modwsgi/7610f31f-293b-421f-a5c5-013aaa241ea2n%40googlegroups.com > > <https://groups.google.com/d/msgid/modwsgi/7610f31f-293b-421f-a5c5-013aaa241ea2n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/modwsgi/eb9678c0-78f5-43cd-bb15-3521e505e69cn%40googlegroups.com.
