Nicolas Lehuen
nicolas.lehuen at gmail.com
Mon May 9 17:26:37 EDT 2005
Did you try : r = re.compile(r's,\s*@%s@,\s*(?P<OPTION_STRING>[^,]+),\s*' % (option_name)) Notice the "r" just before the quote to toggle the regular expression string mode. Regards, Nicolas 2005/5/9, Jim Gallacher <jg.lists at sympatico.ca>: > Frank, > > Frank Gruman wrote: > > Nicolas, > > > > The script you are running is automatically included as part of the make > > process on Linux. > > > > But I am willing to try anything... > > OK, here's something. :) > > > Running the script with the method you specify returns the same ending > > error code that I found earlier (about the APXS definition not found). > > Thanks for the idea, though. > > > > Anyone have any idea why the setup.py script is not able to pass the > > APXS value from config.status back to setup.py (getconfigure_option > > function). I have verified that there is a value assigned in > > config.status (/usr/local/apache2/bin/apxs). > > I think there is a problem with the regular expression which searches > for APXS in config.status. (I'm getting the same error on Debian as you > are on SLES). > > Setup.py is using the following re: > r = re.compile('s, @%s@, (?P<OPTION_STRING>[^,]+), ' % (option_name)) > > While my config.status output looks like this: > s, at APXS@,/usr/bin/apxs2,;t t > > Notice the lack of spaces after the commas? I wonder if the output of > configure is somehow platform dependant, which is why Nicolas has not > seen a problem? > > I've been trying to tweak the re to make it work, but so far it's mainly > been an exercise in banging head against the monitor. (Somebody really > should come up with a padded monitor - they'd make a fortune). I both > love and hate regular expressions at the same time. > > Anyway, as a quick fix you could apply the following patch to > setup.py.in, and do the configure + make cycle again. > > Index: setup.py.in > =================================================================== > --- setup.py.in (revision 169349) > +++ setup.py.in (working copy) > @@ -62,7 +62,8 @@ > > def getapxs_location(): > """finds the location of apxs from the config.status file""" > - return getconfigure_option("APXS") > + #return getconfigure_option("APXS") > + return '/usr/local/apache2/bin/apxs' > > def getapxs_option(option): > APXS = getapxs_location() > > Also, I don't know if you resolved the psp_flex issue, but the > src/Makefile.in hard codes LEX=/usr/local/bin/flex, which fails on my > system since flex is located in /usr/bin. A quick edit of the Makefile > took care of that for me. > > If your luck is anything like mine the next thing you'll have to deal > with is the linker not finding libapr. > > Personally, I've avoided these issues by using the setup.py included > with Debian, even when compiling from the svn trunk. > > Regards, > Jim > > > > Oh - also realized I didn't provide OS - SLES 9. > > > > Regards, > > Frank > > > > Nicolas Lehuen wrote: > > > >>Hi, > >> > >>Just a wild guess, as I'm building under Win32... Did you try : > >> > >>python setup.py install > >> > >>? > >> > >>This works under Win32. > >> > >>Regards, > >> > >>Nicolas > >> > >>2005/5/9, Frank Gruman <fgatwork at verizon.net>: > >> > >> > >>>Hello all, > >>> > >>>I am trying to test the latest Apache dev version, and found an issue when trying to compile mod_python 3.1.4 with it. > >>> > >>>I originally tired using Apache 2.1.5-dev (from tip on Friday, 06-May) with mod_python 3.1.4 and Python 2.4.1. When this failed, I thought that there might have been a resolution in the current mod_python tip, so pulled the mod_python tip as of 09-May @ 13:00. Still ran into the same errors. > >>> > >>>The system goes through the ./configure without any issues. Please see the steps / output below. It gets quite long, so please bear with me. > >>> > >>>* Configure ***************************************** > >>>toybox:/sources/mod_python-3.1.4 # ./configure --with-apxs=/usr/local/apache2/bin/apxs > >>>checking for gcc... gcc > >>>checking for C compiler default output... a.out > >>>checking whether the C compiler works... yes > >>>checking whether we are cross compiling... no > >>>checking for suffix of executables... > >>>checking for suffix of object files... o > >>>checking whether we are using the GNU C compiler... yes > >>>checking whether gcc accepts -g... yes > >>>checking for ar... ar > >>>checking for a BSD-compatible install... /usr/bin/install -c > >>>checking whether make sets ${MAKE}... yes > >>>checking for main in -lm... yes > >>>checking for gcc option to accept ANSI C... none needed > >>>checking for an ANSI C-conforming const... yes > >>>checking your blood pressure... a bit high, but we can proceed > >>>configure: checking whether apxs is available... > >>>checking for --with-apxs... /usr/local/apache2/bin/apxs executable, good > >>>checking Apache version... 2.1.5-dev > >>>checking for Apache libexec directory... /usr/local/apache2/modules > >>>checking for Apache include directory... -I/usr/local/apache2/include > >>>checking for --with-python... no > >>>checking for python... /usr/bin/python > >>>checking Python version... 2.4 > >>>checking Python install prefix... /usr > >>>checking for Py_NewInterpreter in -lpython2.4... yes > >>>checking what libraries Python was linked with... -lpython2.4 -lpthread -ldl -lutil -lm > >>>checking linker flags used to link Python... > >>>checking where Python include files are... -I/usr/include/python2.4 > >>>configure: creating ./config.status > >>>config.status: creating Makefile > >>>config.status: creating src/Makefile > >>>config.status: creating Doc/Makefile > >>>config.status: creating test/testconf.py > >>>config.status: creating dist/setup.py > >>>config.status: creating dist/Makefile > >>>toybox:/sources/mod_python-3.1.4 # > >>>**************************************************** > >>> > >>>No warnings or errors. Looks good. Let's go on... > >>> > >>>* 1st Make ***************************************** > >>>toybox:/sources/mod_python-3.1.4 # make > >>>make[1]: Entering directory `/sources/mod_python-3.1.4/src' > >>> > >>>Compiling for DSO. > >>> > >>> > >>> > > <snipped log as it was getting to big for the message board> > > > >>>/usr/local/apache2/build/libtool --silent --mode=link gcc -o mod_python.la -rpath /usr/local/apache2/modules -module -avoid-version hlistobject.lo hlist.lo filterobject.lo connobject.lo serverobject.lo util.lo tableobject.lo requestobject.lo _apachemodule.lo mod_python.lo -L/usr/lib/python2.4/config -Xlinker -export-dynamic -lm -lpython2.4 -lpthread -ldl -lutil -lm > >>>make[1]: Leaving directory `/sources/mod_python-3.1.4/src' > >>>make[1]: Entering directory `/sources/mod_python-3.1.4/dist' > >>>ln -s ../lib/python/mod_python > >>>ln -s ../src > >>>make[2]: Entering directory `/sources/mod_python-3.1.4/src' > >>>/usr/local/bin/flex -R -opsp_parser.c --header-file=include/psp_flex.h psp_parser.l > >>>make[2]: /usr/local/bin/flex: Command not found > >>>make[2]: *** [psp_parser.c] Error 127 > >>>make[2]: Leaving directory `/sources/mod_python-3.1.4/src' > >>>make[1]: *** [build] Error 2 > >>>make[1]: Leaving directory `/sources/mod_python-3.1.4/dist' > >>>make: *** [do_dso] Error 2 > >>>toybox:/sources/mod_python-3.1.4 # > >>>*************************************************** > >>> > >>>It appears I the system could not find psp_parser.c. This is not in the src directory. I looked at the SVN repository, and found it there. Not sure why it didn't come with the initial checkout, but I manually downloaded it. Let's try to do a MAKE again. > >>> > >>>* 2nd Make **************************************** > >>> > >>>toybox:/sources/mod_python-3.1.4 # make clean && make > >>> > >>> > >>> > > <snipped log as it was getting to big for the message board> > > > > > >>>/usr/local/apache2/build/libtool --silent --mode=link gcc -o mod_python.la -rpath /usr/local/apache2/modules -module -avoid-version hlistobject.lo hlist.lo filterobject.lo connobject.lo serverobject.lo util.lo tableobject.lo requestobject.lo _apachemodule.lo mod_python.lo -L/usr/lib/python2.4/config -Xlinker -export-dynamic -lm -lpython2.4 -lpthread -ldl -lutil -lm > >>>make[1]: Leaving directory `/sources/mod_python-3.1.4/src' > >>>make[1]: Entering directory `/sources/mod_python-3.1.4/dist' > >>>ln -s ../lib/python/mod_python > >>>make[2]: Entering directory `/sources/mod_python-3.1.4/src' > >>>make[2]: `psp_parser.c' is up to date. > >>>make[2]: Leaving directory `/sources/mod_python-3.1.4/src' > >>>/usr/bin/python setup.py build > >>>Traceback (most recent call last): > >>> File "setup.py", line 138, in ? > >>> ModPyModule = ModPyExtension(getmp_srcdir(), [getmp_includedir(), getapache_includedir()], [getapache_libdir()]) > >>> File "setup.py", line 80, in getapache_includedir > >>> return getapxs_option("INCLUDEDIR") > >>> File "setup.py", line 68, in getapxs_option > >>> APXS = getapxs_location() > >>> File "setup.py", line 65, in getapxs_location > >>> return getconfigure_option("APXS") > >>> File "setup.py", line 47, in getconfigure_option > >>> raise AssertionError("unable to find @%s@ definition in %s", (option_name, config_status_file)) > >>>AssertionError: ('unable to find @%s@ definition in %s', ('APXS', '/sources/mod_python-3.1.4/config.status')) > >>>make[1]: *** [build] Error 1 > >>>make[1]: Leaving directory `/sources/mod_python-3.1.4/dist' > >>>make: *** [do_dso] Error 2 > >>>toybox:/sources/mod_python-3.1.4 # > >>>**************************************************** > >>> > >>>So - now it seems to have problems reading the value I passed for the APXS parameter. And I can't figure out why. > >>> > >>>Any ideas?? > >>> > >>>Regards, > >>>Frank > >>>_______________________________________________ > >>>Mod_python mailing list > >>>Mod_python at modpython.org > >>>http://mailman.modpython.org/mailman/listinfo/mod_python > >>> > >>> > >>> > >> > >> > >> > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Mod_python mailing list > > Mod_python at modpython.org > > http://mailman.modpython.org/mailman/listinfo/mod_python > >
|