I did indeed see a python3.3m.so lying around. When I get back to the office on Monday I'll try out your ideas.
Thanks! On Saturday, 14 December 2013 11:03:04 UTC+1, Graham Dumpleton wrote: > > What is in: > > /opt/python3.3/lib > > Provide 'ls -las' output for that directory. > > The Python library is not usually called libpython3.so. It always has the > minor version in it. > > On some platforms it can be libpython3.3m.so and the latest tar ball > release of mod_wsgi doesn't cope with that from memory and so it would have > been necessary to use -lpython3.3m. I can't remember if other suffixes are > used. > > As to not finding the library at run time, LD_LIBRARY_PATH would need to > have been set and exported in the Apache startup scripts, or envvars file > if distro supported it. A better way though is to set and export just while > compiling mod_wsgi: > > LD_RUN_PATH=/opt/python3.3/lib > > This will embed the path in mod_wsgi.so file and nothing would need to be > set at run time. > > Make sure you are doing a 'make distclean' between builds and rerun > configure for mod_wsgi when setting this to make sure not using cached > build results. > > Graham > > On 14/12/2013, at 1:28 AM, Michel Albert <[email protected] <javascript:>> > wrote: > > Hi, > > > We are in the process of migrating to Python 3. So far, everything works > fine, and our first application is ready to be deployed on our staging box. > Unfortunately, this still runs mod_wsgi on Python 2.7, and the code is > deliberately not *yet* back-ported to Py2. > > In the process, we also want to switch from mpm-prefork to mpm-worker. > There is one major problem though. The server still runs one legacy PHP > application, and, as I understood it, PHP only runs on prefork. And indeed, > trying to install mpm-worker in Ubuntu complains about this. > > Because of this, we decided to run a second apache instance, on a > different port. To avoid conflicts with the system's packaging system we > recompiled python3, apache, and also mod_wsgi from source. All is compiled > with a different prefix to avoid collisions with existing files. The `` > --configure`` lines are: > > python3: $ ./configure --prefix=/opt/python3.3 --enable-shared > --with-threads > apache2: $ ./configure --prefix=/opt/apache2-python3 > mod_wsgi: $ ./configure --with-apxs=/usr/src/httpd-2.4.7/support/apxs > --with-python=/opt/python3.3/bin/python3 > > > Apache2 and Python3 work fine. But the compilation of mod_wsgi caused > problems. The Makefile generated from the configure script contained the > following line: > > LDLIBS = -lpython3.3 -lpthread -ldl -lutil -lm > > > which gave the following compilation error: > > /usr/bin/ld: cannot find -lpython3.3 > collect2: ld returned 1 exit status > apxs:Error: Command failed with rc=65536 > > > ... and I solved it by hand-editing the Makefile, removing the ".3" file > suffix: > > LDLIBS = -lpython3 -lpthread -ldl -lutil -lm > > > running make on mod_wsgi, created the mod_wsgi.so file. We moved this > over to the apache2 modules folder and added the LoadModule. But then, > running apache gave us this: > > /opt/apache2-python3/bin/apachectl -e debug -DFOREGROUND > [Fri Dec 13 15:25:37.066959 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module authn_file_module from > /opt/apache2-python3/modules/mod_authn_file.so > [Fri Dec 13 15:25:37.067480 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module authn_core_module from > /opt/apache2-python3/modules/mod_authn_core.so > [Fri Dec 13 15:25:37.067795 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module authz_host_module from > /opt/apache2-python3/modules/mod_authz_host.so > [Fri Dec 13 15:25:37.068121 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module authz_groupfile_module from > /opt/apache2-python3/modules/mod_authz_groupfile.so > [Fri Dec 13 15:25:37.068427 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module authz_user_module from > /opt/apache2-python3/modules/mod_authz_user.so > [Fri Dec 13 15:25:37.068783 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module authz_core_module from > /opt/apache2-python3/modules/mod_authz_core.so > [Fri Dec 13 15:25:37.069129 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module access_compat_module from > /opt/apache2-python3/modules/mod_access_compat.so > [Fri Dec 13 15:25:37.069454 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module auth_basic_module from > /opt/apache2-python3/modules/mod_auth_basic.so > [Fri Dec 13 15:25:37.069796 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module reqtimeout_module from > /opt/apache2-python3/modules/mod_reqtimeout.so > [Fri Dec 13 15:25:37.070172 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module filter_module from > /opt/apache2-python3/modules/mod_filter.so > [Fri Dec 13 15:25:37.070652 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module mime_module from > /opt/apache2-python3/modules/mod_mime.so > [Fri Dec 13 15:25:37.071010 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module log_config_module from > /opt/apache2-python3/modules/mod_log_config.so > [Fri Dec 13 15:25:37.071358 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module env_module from > /opt/apache2-python3/modules/mod_env.so > [Fri Dec 13 15:25:37.071689 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module headers_module from > /opt/apache2-python3/modules/mod_headers.so > [Fri Dec 13 15:25:37.072052 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module setenvif_module from > /opt/apache2-python3/modules/mod_setenvif.so > [Fri Dec 13 15:25:37.072442 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module version_module from > /opt/apache2-python3/modules/mod_version.so > [Fri Dec 13 15:25:37.072780 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module unixd_module from > /opt/apache2-python3/modules/mod_unixd.so > [Fri Dec 13 15:25:37.073105 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module status_module from > /opt/apache2-python3/modules/mod_status.so > [Fri Dec 13 15:25:37.073449 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module autoindex_module from > /opt/apache2-python3/modules/mod_autoindex.so > [Fri Dec 13 15:25:37.073799 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module dir_module from > /opt/apache2-python3/modules/mod_dir.so > [Fri Dec 13 15:25:37.074149 2013] [so:debug] [pid 23049:tid 3074689344] > mod_so.c(266): AH01575: loaded module alias_module from > /opt/apache2-python3/modules/mod_alias.so > httpd: Syntax error on line 151 of /opt/apache2-python3/conf/httpd.conf: > Cannot load modules/mod_wsgi.so into server: > /opt/apache2-python3/modules/mod_wsgi.so: undefined symbol: PyExc_SystemExit > > > I also tried to prefix various commands with " > LD_LIBRARY_PATH=/opt/python3.3/lib" which did not help very much :( > > > Any ideas what we could have missed? > > -- > 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 http://groups.google.com/group/modwsgi. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- 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 http://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/groups/opt_out.
