[Zope] Installing ZPatterns: The Plot Thickens...

ra@burningman.com ra@burningman.com
Mon, 12 Nov 2001 10:48:19 -0800


Ben Ocean wrote:

> At 08:41 AM 11/12/01 -0800, you wrote:
> 
>> At 03:42 PM 11/12/01 +0000, you wrote:
>>
>>> Hi,
>>>         this one stung me too for a while but the Makefile.pre.in the
>>> instructions are refering to is the one which a full python install has
>>> in the /usr/lib/python/config/ directory which is used for building
>>> python modules and making sure they build correctly against python.
>>>
>>> So for a typical python2.1 installation you copy the
>>> /usr/lib/python2.1/config/Makefile.pre.in into the directory and
>>> continue following the instructions. I feel the instructions could be a
>>> little clearer (its not clear from the context that the Makefile comes
>>> with python).
>>
>>
>> Agreed. Once I've got this figured out I'll write the author. But 
>> check this:
>>
>> [root@hermes ZPatterns]# cp /usr/lib/python2.1/config/Makefile.pre.in .
> 
> 
> Oops! Notice python2.1 here...
> 
>> [root@hermes ZPatterns]# make -f Makefile.pre.in boot
>> rm -f *.o *~
>> rm -f *.a tags TAGS config.c Makefile.pre python sedscript
>> rm -f *.so *.sl so_locations
>> VERSION=`python -c "import sys; print sys.version[:3]"`; \
>> installdir=`python -c "import sys; print sys.prefix"`; \
>> exec_installdir=`python -c "import sys; print sys.exec_prefix"`; \
>> make -f ./Makefile.pre.in VPATH=. srcdir=. \
>>         VERSION=$VERSION \
>>         installdir=$installdir \
>>         exec_installdir=$exec_installdir \
>>         Makefile
>> make[1]: Entering directory 
>> `/apache/ZopeInstallation/Zope_software_home/lib/python/Products/ZPatterns' 
>>
>> make[1]: *** No rule to make target 
>> `/usr/lib/python1.5/config/Makefile', needed by `sedscript'.  Stop.
> 
> 
> Ah! Notice python1.5 here. So I edited Makefile.pre.in and forced it to 
> read use python2.1. This seemed to work just fine for make -f 
> Makefile.pre.in boot but failed on make:


I've always used the Makefile.pre.in $ZOPE_HOME/lib/python directory. 
So, from the ZPatterns product directory, 'cp ../../Makefile.pre.in .'.


> 
> [root@hermes ZPatterns]# make
> gcc -fPIC -g -O2 -Wall -Wstrict-prototypes -I/usr/include/python2.1 
> -I/usr/include/python2.1 -DHAVE_CONFIG_H  -I../../ZODB 
> -I../../../Components/ExtensionClass -c ././DynPersist.c -o ./DynPersist.o
> In file included from ././DynPersist.c:1:
> ../../ZODB/cPersistence.h:89: ExtensionClass.h: No such file or directory
> make: *** [DynPersist.o] Error 1
> 
> I would have assumed the aforementioned file would be part of the 
> standard distro. Is there something else I need to install?


No, but the Setup file in the ZPatterns directory has become out-of-sync 
with the rest of the Zope distribution, apparently.  All you need to do 
is edit the "Setup" file and append "/src" to the end of the second 
line, which specifies where ExtensionClass.h will be found.

Another option would be to consider installing TransactionAgents, 
available at 
http://www.cat-box.net/steve/TransactionAgents-0.0.1.tar.gz.  Info is 
available at 
http://lists.zope.org/pipermail/zodb-dev/2001-July/001182.html.  This 
package modifies ZPatterns somewhat, and in the process it fixed the 
Setup file and it fixes a bug that will prevent LoginManager from 
working.  Beware, though, this is early version software.  It's working 
quite well for me so far, but YMMV.

This is definitely all much harder than it needs to be.  I'm in the 
process of writing a HOWTO to get LoginManager working with a recent 
version of Zope... it's possible, but it's not fun.  Does anyone know if 
LoginManager is still being maintained?  It sure would be helpful to 
have it at least repackaged with the components necessary for it to work 
with Python2.1+ an Zope2.4+.  If nobody's maintaining it, I'll look into 
repackaging it myself, if the licenses allow.

-r



> TIA,
> BenO
> 
> 
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )