Kyle Simpson
kyle.simpson at gmail.com
Tue Apr 8 22:43:08 EDT 2008
Hi Graham Thanks for all your help on this. I started over from the tgz and did configure and make. Turns out that everytime I did make and make install, it wasn't recompiling, even though I had different options with ./configure (specifying which apache) DUH! On Tue, Apr 8, 2008 at 10:35 PM, Graham Dumpleton < graham.dumpleton at gmail.com> wrote: > 2008/4/9 Kyle Simpson <kyle.simpson at gmail.com>: > > Yes there are header files in /usr/local/apache28/include > > > > Value is: #define MODULE_MAGIC_COOKIE 0x41503232UL /* "AP22" */ > > > > In older version, it is: > > > > #define MODULE_MAGIC_COOKIE 0x41503232UL /* "AP22" */ > > But that is the same, so how can it be an older version, unless it > differs only by patch level. The magic string it complains about is > for Apache 2.0 so you must have that installed somewhere. > > > How do you determine the -l flags when the compiler is run? > > I gave an example: > > /usr/local/apache-2.2.4/bin/apxs > -I/Users/grahamd/Projects/mod_python-trunk/src/include > > -I/System/Library/Frameworks/Python.framework/Versions/2.3/include/python2.3 > -DNDEBUG -Wc,'-arch ppc' -c mod_python.c _apachemodule.c > requestobject.c tableobject.c util.c serverobject.c connobject.c > filterobject.c hlist.c hlistobject.c finfoobject.c -arch ppc > -Wl,-F/System/Library/Frameworks -framework Python -u __dummy -u > _PyMac_Error -framework System -framework CoreServices -framework > Foundation -ldl > > See the -I flags in there. > > You will see this when you run 'make' to build mod_python. Find the > equivalent invocation of apxs to compile mod_python when you build it > and post that small subset of lines which shows the -I flags. > > Graham > > > Thanks. > > > > > > > > On Tue, Apr 8, 2008 at 8:28 PM, Graham Dumpleton > > <graham.dumpleton at gmail.com> wrote: > > > > > 2008/4/9 Kyle Simpson <kyle.simpson at gmail.com>: > > > > > > > Any other ideas on this topic? > > > > > > As I said before, the problem is that you are managing to either > > > install mod_python.so into the wrong installation or you have compiled > > > it against the header files for the wrong version of Apache. > > > > > > The proof of this is that the magic number your mod_python.so has > equates > > to: > > > > > > #define MODULE_MAGIC_COOKIE 0x41503230UL /* "AP20" */ > > > > > > whereas Apache is expecting: > > > > > > #define MODULE_MAGIC_COOKIE 0x41503232UL /* "AP22" */ > > > > > > Do you have header files installed in the following directory? > > > > > > /usr/local/apache28/include > > > > > > Are those header files readable to the user that you are compiling > > mod_python? > > > > > > Look in the header file 'ap_mmn.h' in that directory, what is the > > > value of MODULE_MAGIC_COOKIE? > > > > > > Now go find where the header files for your other Apache installation > > > are located and find what its value of MODULE_MAGIC_COOKIE is? What > > > directory are those header files in? > > > > > > To work out why it is picking up wrong header files, as I suggested > > > before, look at the -I flags used when compiler is run on mod_python > > > source code. For example on my system I get: > > > > > > /usr/local/apache-2.2.4/bin/apxs > > > -I/Users/grahamd/Projects/mod_python-trunk/src/include > > > > > > -I/System/Library/Frameworks/Python.framework/Versions/2.3/include/python2.3 > > > -DNDEBUG -Wc,'-arch ppc' -c mod_python.c _apachemodule.c > > > requestobject.c tableobject.c util.c serverobject.c connobject.c > > > filterobject.c hlist.c hlistobject.c finfoobject.c -arch ppc > > > -Wl,-F/System/Library/Frameworks -framework Python -u __dummy -u > > > _PyMac_Error -framework System -framework CoreServices -framework > > > Foundation -ldl > > > > > > What do you get? > > > > > > Graham > > > > > > > > > > > > > > > > httpd: Syntax error on line 55 of > /usr/local/apache28/conf/httpd.conf: > > API > > > > module structure 'python_module' in file > > > > /usr/local/apache28/modules/mod_python.so is garbled - expected > > signature > > > > 41503232 but saw 41503230 - perhaps this is not an Apache module > DSO, or > > was > > > > compiled for a different Apache version? > > > > > > > > running on 2.6.9-023stab044.11-smp > > > > > > > > apache 2.2.8 (second install, which was in /usr/local/apache28 > > > > > > > > python 2.5.2 > > > > > > > > > > > > Thanks, > > > > Kyle > > > > > > > > > > > > > > > > On Tue, Apr 8, 2008 at 7:19 AM, Kyle Simpson <kyle.simpson at gmail.com > > > > wrote: > > > > > > > > > 2 versions of apache > > > > > > > > > > just ./configure --with-apxs=/usr/local/apache28/bin/apxs > > > > > > > > > > I did make install > > > > > > > > > > And no, I don't understand the shared library issue. > Unfortunately > > I'm > > > > pretty much a noob, since any previous apache haven't required any > > modules. > > > > > > > > > > Thanks for all the help. Let me know if you have any other ideas. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 8, 2008 at 1:49 AM, Graham Dumpleton > > > > <graham.dumpleton at gmail.com> wrote: > > > > > > > > > > > What about my other questions: > > > > > > > > > > > > > > > > > > How many different versions of Apache do you have installed? > > > > > > > > > > > > What options did you use to 'configure' when building > mod_python? > > > > > > > > > > > > Did you use the 'install' target to 'make' or copy it by hand? > > > > > > > > > > > > Do you also understand what I am talking about with the shared > > library > > > > > > issue, not that it in itself should cause this problem. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Graham > > > > > > > > > > > > 2008/4/8 Kyle Simpson <kyle.simpson at gmail.com>: > > > > > > > After doing that, new error: > > > > > > > > > > > > > > httpd: Syntax error on line 55 of > > /usr/local/apache28/conf/httpd.conf: > > > > API > > > > > > > module structure 'python_module' in file /usr/loc? > > > > > > > > > > > > > > line 55 is: > > > > > > > 55 LoadModule python_module modules/mod_python.so > > > > > > > > > > > > > > I did reconfigure/compile to see if that helped, but here's > the ls > > -la > > > > > > > > > > > > > > 2857 -rwxr-xr-x 1 root root 2911798 Apr 8 01:35 > > > > mod_python.so > > > > > > > > > > > > > > file > > > > > > > > > > > > > > /usr/local/apache28/modules/mod_python.so: ELF 32-bit LSB > shared > > > > object, > > > > > > > Intel 80386, version 1 (SYSV), not stripped > > > > > > > > > > > > > > ldd > > > > > > > libpthread.so.0 => /lib/libpthread.so.0 (0x00111000) > > > > > > > libdl.so.2 => /lib/libdl.so.2 (0x00826000) > > > > > > > libutil.so.1 => /lib/libutil.so.1 (0x00162000) > > > > > > > libm.so.6 => /lib/libm.so.6 (0x00ee8000) > > > > > > > libc.so.6 => /lib/libc.so.6 (0x00832000) > > > > > > > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00411000) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 8, 2008 at 12:52 AM, Graham Dumpleton > > > > > > > <graham.dumpleton at gmail.com> wrote: > > > > > > > > > > > > > > > Did you do a full stop and start of Apache, not just a > > > > restart/reload? > > > > > > > > > > > > > > > > > > > > > > > > 2008/4/8 Kyle Simpson <kyle.simpson at gmail.com>: > > > > > > > > > > > > > > > > > 2857 -rwxr-xr-x 1 root root 2911798 Apr 7 > 23:14 > > > > > > > > > /usr/local/apache28/modules/mod_python.so > > > > > > > > > > > > > > > > > > /usr/local/apache28/modules/mod_python.so: ELF 32-bit LSB > > shared > > > > object, > > > > > > > > > Intel 80386, version 1 (SYSV), not stripped > > > > > > > > > > > > > > > > > > libpthread.so.0 => /lib/libpthread.so.0 (0xb7e54000) > > > > > > > > > libdl.so.2 => /lib/libdl.so.2 (0xb7e50000) > > > > > > > > > libutil.so.1 => /lib/libutil.so.1 (0xb7e4d000) > > > > > > > > > libm.so.6 => /lib/libm.so.6 (0xb7e2c000) > > > > > > > > > libc.so.6 => /lib/libc.so.6 (0xb7d09000) > > > > > > > > > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 > (0xb7fee000) > > > > > > > > > > > > > > > > This all indicates that your Python has not been installed > with > > a > > > > > > > > shared library and that Python is being linked statically > into > > > > > > > > mod_python.so. This is generally not a good as it bloats > your > > Apache > > > > > > > > processes by a couple of MB in size. It can also cause > issues, > > > > > > > > especially when upgrading from older to newer mod_python > and/or > > > > > > > > different version of Python. Thus why it is important to do > a > > full > > > > > > > > stop of Apache when replacing mod_python.so in this case. > > > > > > > > > > > > > > > > For details of Python shared library issues, see: > > > > > > > > > > > > > > > > http://code.google.com/p/modwsgi/wiki/InstallationIssues > > > > > > > > > > > > > > > > This is from mod_wsgi documentation, but same issues apply. > > > > > > > > > > > > > > > > BTW, one more possibility is if you have multiple versions > of > > Apache > > > > > > > > installed when mod_python was compiled it used the wrong > header > > > > files. > > > > > > > > How did you install mod_python.so. > > > > > > > > > > > > > > > > How many different versions of Apache do you have installed? > > > > > > > > > > > > > > > > What options did you use to 'configure' when building > > mod_python? > > > > > > > > > > > > > > > > Did you use the 'install' target to 'make' or copy it by > hand? > > > > > > > > > > > > > > > > If copied by hand, maybe it was compiled against wrong > version > > of > > > > > > > > Apache for which you copied it into. You may want tp pay > very > > > > careful > > > > > > > > attention to the -I flags to compiler when mod_python was > > compiled. > > > > > > > > > > > > > > > > Graham > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 8, 2008 at 12:30 AM, Graham Dumpleton > > > > > > > > > <graham.dumpleton at gmail.com> wrote: > > > > > > > > > > > > > > > > > > > What do you get when you run: > > > > > > > > > > > > > > > > > > > > ls -las /usr/local/apache28/modules/mod_python.so > > > > > > > > > > > > > > > > > > > > and: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > file /usr/local/apache28/modules/mod_python.so > > > > > > > > > > > > > > > > > > > > and: > > > > > > > > > > > > > > > > > > > > ldd /usr/local/apache28/modules/mod_python.so > > > > > > > > > > > > > > > > > > > > Graham > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2008/4/8 Kyle Simpson <kyle.simpson at gmail.com>: > > > > > > > > > > > Hi Graham, > > > > > > > > > > > > > > > > > > > > > > Thanks for the quick reply. > > > > > > > > > > > > > > > > > > > > > > I compiled all 3: python,apache,mod python. Did not > use > > > > binaries > > > > > > > for > > > > > > > > > any of > > > > > > > > > > > them. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Apr 8, 2008 at 12:22 AM, Graham Dumpleton > > > > > > > > > > > <graham.dumpleton at gmail.com> wrote: > > > > > > > > > > > > > > > > > > > > > > > 2008/4/8 Kyle Simpson <kyle.simpson at gmail.com>: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Not sure what to make of this error. I have > apache > > 2.2.8, > > > > > > > python > > > > > > > > > 2.5.2 > > > > > > > > > > > and > > > > > > > > > > > > > mod python 3.3.1. > > > > > > > > > > > > > > > > > > > > > > > > > > Any ideas? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > httpd: Syntax error on line 54 of > > > > > > > > > /usr/local/apache28/conf/httpd.conf: > > > > > > > > > > > API > > > > > > > > > > > > > module structure 'python_module' in file > > > > > > > > > > > > > /usr/local/apache28/modules/mod_python.so is > garbled - > > > > expected > > > > > > > > > > > signature > > > > > > > > > > > > > 41503232 but saw 41503230 - perhaps this is not an > > Apache > > > > module > > > > > > > > > DSO, or > > > > > > > > > > > was > > > > > > > > > > > > > compiled for a different Apache version? > > > > > > > > > > > > > > > > > > > > > > > > Exactly what it means. > > > > > > > > > > > > > > > > > > > > > > > > Did you compile mod_python yourself for that version > of > > > > Apache or > > > > > > > did > > > > > > > > > > > > you just install a binary package from somewhere for > > both? > > > > > > > > > > > > > > > > > > > > > > > > I am assuming Apache has a concept of an internal > ABI > > > > number. This > > > > > > > is > > > > > > > > > > > > changed whenever the ABI is changed. You may not be > able > > to > > > > use a > > > > > > > > > > > > precompiled module from an older version of Apache > even > > if > > > > same > > > > > > > > > > > > major/minor version, if this ABI has changed. > > > > > > > > > > > > > > > > > > > > > > > > Graham > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20080408/820ca4d2/attachment-0001.html
|