![](https://secure.gravatar.com/avatar/aabbb00d2b2d0616089c2d9f232ebcf4.jpg?s=120&d=mm&r=g)
Hi list, just to keep you informed: the ZODB3 can be successfully installed in a PyPy-1.8 virtual environment, but the tests fail. Below is the whole bash session I tried on Ubuntu LTS. For the PyPy developers the interesting part might be the last section, "Running the ZODB3 tests". Thanks for the great job you are doing. Aroldo. Installing ZODB3 in a PyPy virtualenv ===================================== Ubuntu Lucid Lynx (LTS) 2012-02-29 Verifying the virtualenv ------------------------ :: (tmp-env-pypy)aroldo@aroldo-laptop:~/tmp/python/tmp-env-pypy$ env|grep ENV VIRTUAL_ENV=/home/aroldo/tmp/python/tmp-env-pypy PIP_ENVIRONMENT=/home/aroldo/tmp/python/tmp-env-pypy (tmp-env-pypy)aroldo@aroldo-laptop:~/tmp/python/tmp-env-pypy$ python --version Python 2.7.2 (0e28b379d8b3, Feb 09 2012, 19:41:19) [PyPy 1.8.0 with GCC 4.4.3] (tmp-env-pypy)aroldo@aroldo-laptop:~/tmp/python/tmp-env-pypy$ which pip /home/aroldo/tmp/python/tmp-env-pypy/bin/pip Installing the zodb3 (using pip) --------------------------------- :: (tmp-env-pypy)aroldo@aroldo-laptop:~/tmp/python/tmp-env-pypy$ pip install zodb3 Downloading/unpacking zodb3 Downloading ZODB3-3.10.5.tar.gz (706Kb): 706Kb downloaded Running setup.py egg_info for package zodb3 Downloading/unpacking transaction>=1.1.0 (from zodb3) Downloading transaction-1.2.0.tar.gz (42Kb): 42Kb downloaded Running setup.py egg_info for package transaction Downloading/unpacking zc.lockfile (from zodb3) Downloading zc.lockfile-1.0.0.tar.gz Running setup.py egg_info for package zc.lockfile Downloading/unpacking ZConfig (from zodb3) Downloading ZConfig-2.9.2.tar.gz (261Kb): 261Kb downloaded Running setup.py egg_info for package ZConfig Downloading/unpacking zdaemon (from zodb3) Downloading zdaemon-2.0.4.tar.gz (42Kb): 42Kb downloaded Running setup.py egg_info for package zdaemon Downloading/unpacking zope.event (from zodb3) Downloading zope.event-3.5.1.tar.gz Running setup.py egg_info for package zope.event Downloading/unpacking zope.interface (from zodb3) Downloading zope.interface-3.8.0.tar.gz (111Kb): 111Kb downloaded Running setup.py egg_info for package zope.interface Requirement already satisfied (use --upgrade to upgrade): setuptools in ./site- packages/setuptools-0.6c11-py2.7.egg (from zc.lockfile->zodb3) Installing collected packages: zodb3, transaction, zc.lockfile, ZConfig, zdaemo n, zope.event, zope.interface Running setup.py install for zodb3 building 'BTrees._OOBTree' extension cc -fPIC -Wimplicit -Isrc -I/home/aroldo/tmp/python/tmp-env-pypy/include -c src/BTrees/_OOBTree.c -o build/temp.linux-i686-2.7/src/BTrees/_OOBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_OOBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_OOBTree.pypy-18.so building 'BTrees._IOBTree' extension cc -fPIC -Wimplicit -DEXCLUDE_INTSET_SUPPORT -Isrc -I/home/aroldo/tmp/pytho n/tmp-env-pypy/include -c src/BTrees/_IOBTree.c -o build/temp.linux-i686-2.7/sr c/BTrees/_IOBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_IOBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_IOBTree.pypy-18.so building 'BTrees._OIBTree' extension cc -fPIC -Wimplicit -Isrc -I/home/aroldo/tmp/python/tmp-env-pypy/include -c src/BTrees/_OIBTree.c -o build/temp.linux-i686-2.7/src/BTrees/_OIBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_OIBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_OIBTree.pypy-18.so building 'BTrees._IIBTree' extension cc -fPIC -Wimplicit -DEXCLUDE_INTSET_SUPPORT -Isrc -I/home/aroldo/tmp/pytho n/tmp-env-pypy/include -c src/BTrees/_IIBTree.c -o build/temp.linux-i686-2.7/sr c/BTrees/_IIBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_IIBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_IIBTree.pypy-18.so building 'BTrees._IFBTree' extension cc -fPIC -Wimplicit -DEXCLUDE_INTSET_SUPPORT -Isrc -I/home/aroldo/tmp/pytho n/tmp-env-pypy/include -c src/BTrees/_IFBTree.c -o build/temp.linux-i686-2.7/sr c/BTrees/_IFBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_IFBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_IFBTree.pypy-18.so building 'BTrees._fsBTree' extension cc -fPIC -Wimplicit -DEXCLUDE_INTSET_SUPPORT -Isrc -I/home/aroldo/tmp/pytho n/tmp-env-pypy/include -c src/BTrees/_fsBTree.c -o build/temp.linux-i686-2.7/sr c/BTrees/_fsBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_fsBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_fsBTree.pypy-18.so building 'BTrees._LOBTree' extension cc -fPIC -Wimplicit -DEXCLUDE_INTSET_SUPPORT -Isrc -I/home/aroldo/tmp/pytho n/tmp-env-pypy/include -c src/BTrees/_LOBTree.c -o build/temp.linux-i686-2.7/sr c/BTrees/_LOBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_LOBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_LOBTree.pypy-18.so building 'BTrees._OLBTree' extension cc -fPIC -Wimplicit -Isrc -I/home/aroldo/tmp/python/tmp-env-pypy/include -c src/BTrees/_OLBTree.c -o build/temp.linux-i686-2.7/src/BTrees/_OLBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_OLBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_OLBTree.pypy-18.so building 'BTrees._LLBTree' extension cc -fPIC -Wimplicit -DEXCLUDE_INTSET_SUPPORT -Isrc -I/home/aroldo/tmp/pytho n/tmp-env-pypy/include -c src/BTrees/_LLBTree.c -o build/temp.linux-i686-2.7/sr c/BTrees/_LLBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_LLBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_LLBTree.pypy-18.so building 'BTrees._LFBTree' extension cc -fPIC -Wimplicit -DEXCLUDE_INTSET_SUPPORT -Isrc -I/home/aroldo/tmp/pytho n/tmp-env-pypy/include -c src/BTrees/_LFBTree.c -o build/temp.linux-i686-2.7/sr c/BTrees/_LFBTree.o cc -shared build/temp.linux-i686-2.7/src/BTrees/_LFBTree.o -o build/lib.lin ux-i686-2.7/BTrees/_LFBTree.pypy-18.so building 'persistent.cPersistence' extension cc -fPIC -Wimplicit -Isrc -I/home/aroldo/tmp/python/tmp-env-pypy/include -c src/persistent/cPersistence.c -o build/temp.linux-i686-2.7/src/persistent/cPer sistence.o src/persistent/cPersistence.c: In function ‘Per_set_oid’: src/persistent/cPersistence.c:998: warning: passing argument 3 of ‘PyObject _Cmp’ from incompatible pointer type /home/aroldo/tmp/python/tmp-env-pypy/include/pypy_decl.h:263: note: expecte d ‘long int *’ but argument is of type ‘int *’ src/persistent/cPersistence.c: In function ‘Per_set_jar’: src/persistent/cPersistence.c:1034: warning: passing argument 3 of ‘PyObjec t_Cmp’ from incompatible pointer type /home/aroldo/tmp/python/tmp-env-pypy/include/pypy_decl.h:263: note: expecte d ‘long int *’ but argument is of type ‘int *’ cc -fPIC -Wimplicit -Isrc -I/home/aroldo/tmp/python/tmp-env-pypy/include -c src/persistent/ring.c -o build/temp.linux-i686-2.7/src/persistent/ring.o cc -shared build/temp.linux-i686-2.7/src/persistent/cPersistence.o build/te mp.linux-i686-2.7/src/persistent/ring.o -o build/lib.linux-i686-2.7/persistent/ cPersistence.pypy-18.so building 'persistent.cPickleCache' extension cc -fPIC -Wimplicit -Isrc -I/home/aroldo/tmp/python/tmp-env-pypy/include -c src/persistent/cPickleCache.c -o build/temp.linux-i686-2.7/src/persistent/cPic kleCache.o src/persistent/cPickleCache.c: In function ‘cc_oid_unreferenced’: src/persistent/cPickleCache.c:655: warning: implicit declaration of functio n ‘_Py_ForgetReference’ cc -fPIC -Wimplicit -Isrc -I/home/aroldo/tmp/python/tmp-env-pypy/include -c src/persistent/ring.c -o build/temp.linux-i686-2.7/src/persistent/ring.o cc -shared build/temp.linux-i686-2.7/src/persistent/cPickleCache.o build/te mp.linux-i686-2.7/src/persistent/ring.o -o build/lib.linux-i686-2.7/persistent/ cPickleCache.pypy-18.so building 'persistent.TimeStamp' extension cc -fPIC -Wimplicit -Isrc -I/home/aroldo/tmp/python/tmp-env-pypy/include -c src/persistent/TimeStamp.c -o build/temp.linux-i686-2.7/src/persistent/TimeSta mp.o cc -shared build/temp.linux-i686-2.7/src/persistent/TimeStamp.o -o build/li b.linux-i686-2.7/persistent/TimeStamp.pypy-18.so Installing fsdump script to /home/aroldo/tmp/python/tmp-env-pypy/bin Installing fstail script to /home/aroldo/tmp/python/tmp-env-pypy/bin Installing zeopack script to /home/aroldo/tmp/python/tmp-env-pypy/bin Installing runzeo script to /home/aroldo/tmp/python/tmp-env-pypy/bin Installing fsrefs script to /home/aroldo/tmp/python/tmp-env-pypy/bin Installing zeoctl script to /home/aroldo/tmp/python/tmp-env-pypy/bin Installing repozo script to /home/aroldo/tmp/python/tmp-env-pypy/bin Installing fsoids script to /home/aroldo/tmp/python/tmp-env-pypy/bin Installing zeopasswd script to /home/aroldo/tmp/python/tmp-env-pypy/bin Running setup.py install for transaction Running setup.py install for zc.lockfile Skipping installation of /home/aroldo/tmp/python/tmp-env-pypy/site-packages /zc/__init__.py (namespace package) Installing /home/aroldo/tmp/python/tmp-env-pypy/site-packages/zc.lockfile-1 .0.0-py2.7-nspkg.pth Running setup.py install for ZConfig changing mode of build/scripts-2.7/zconfig from 644 to 755 changing mode of build/scripts-2.7/zconfig_schema2html from 644 to 755 changing mode of /home/aroldo/tmp/python/tmp-env-pypy/bin/zconfig_schema2ht ml to 755 changing mode of /home/aroldo/tmp/python/tmp-env-pypy/bin/zconfig to 755 Running setup.py install for zdaemon Installing zdaemon script to /home/aroldo/tmp/python/tmp-env-pypy/bin Running setup.py install for zope.event Skipping installation of /home/aroldo/tmp/python/tmp-env-pypy/site-packages /zope/__init__.py (namespace package) Installing /home/aroldo/tmp/python/tmp-env-pypy/site-packages/zope.event-3. 5.1-py2.7-nspkg.pth Running setup.py install for zope.interface Skipping installation of /home/aroldo/tmp/python/tmp-env-pypy/site-packages /zope/__init__.py (namespace package) Installing /home/aroldo/tmp/python/tmp-env-pypy/site-packages/zope.interfac e-3.8.0-py2.7-nspkg.pth Successfully installed zodb3 transaction zc.lockfile ZConfig zdaemon zope.event zope.interface Cleaning up... Running the ZOBD3 tests ------------------------------- :: (tmp-env-pypy)aroldo@aroldo-laptop:~/tmp/python/tmp-env-pypy$ python --version Python 2.7.2 (0e28b379d8b3, Feb 09 2012, 19:41:19) [PyPy 1.8.0 with GCC 4.4.3] (tmp-env-pypy)aroldo@aroldo-laptop:~/tmp/python/tmp-env-pypy$ python site-packages/ZODB/tests/testZODB.py Traceback (most recent call last): File "app_main.py", line 51, in run_toplevel File "site-packages/ZODB/tests/testZODB.py", line 15, in <module> from persistent import Persistent File "/home/aroldo/tmp/python/tmp-env-pypy/site-packages/persistent/__init__.py", line 20, in <module> from cPickleCache import PickleCache ImportError: unable to load extension module '/home/aroldo/tmp/python/tmp-env-p ypy/site-packages/persistent/cPickleCache.pypy-18.so': /home/aroldo/tmp/python/ tmp-env-pypy/site-packages/persistent/cPickleCache.pypy-18.so: undefined symbol : _Py_ForgetReference (tmp-env-pypy)aroldo@aroldo-laptop:~/tmp/python/tmp-env-pypy$