2

I am trying to install cvs2svn on a Solaris 10 machine. It has Python 2.4.4 on it. I don't have root access. When I downloaded cvs2svn and tried to run it, it said

ERROR: cvs2svn uses the anydbm package, which depends on lower level dbm libraries. Your system has dbm, with which cvs2svn is known to have problems. To use cvs2svn, you must install a Python dbm library other than dumbdbm or dbm. See http://python.org/doc/current/lib/module-anydbm.html for more information.

I downloaded gdbm, compiled, and installed it in my home directory. How do I get a Python gdbm module installed that works with anydbm? Google isn't helping...

Quinn Taylor
  • 44,553
  • 16
  • 113
  • 131
David I.
  • 4,747
  • 3
  • 26
  • 34

3 Answers3

2

I downloaded Python 2.5.1 and compiled it from the source. I made sure my gdbm libraries were in the appropriate paths and used the altinstall into my home directory. I can now run cvs2svn with my private copy of python.

David I.
  • 4,747
  • 3
  • 26
  • 34
0

To install gdbm for Python, try:

pip install gdbm

If pip is not present, install it via: easy_install pip.

On OSX, you may try (if brew is installed):

brew install gdbm
kenorb
  • 155,785
  • 88
  • 678
  • 743
0

Set the $PYTHONPATH environment variable to point to the location where you installed gdbm. Then when you run cvs2svn, the anybdm module should find gdbm successfully.

Greg Ball
  • 3,671
  • 3
  • 22
  • 15
  • That doesn't appear to work. Could this be part of it? ls -l /usr/lib/python2.4/lib-dynload/*db* -rwxr-xr-x 1 root bin 12176 Jan 31 2007 /usr/lib/python2.4/lib-dynload/dbm.so* – David I. Jun 23 '09 at 16:29
  • Firstly, I think the solution you settled on is the most bulletproof. On the other hand, I'm not sure how to interpret your comment exactly. I think you're suggesting that dbm is found and therefore gdbm is ignored. Check the source for anydbm... will it look for dbm or gdbm first? If dbm first, then I guess my original answer is wrong. I think cvs2svn should really include logic to deal with this properly! Requiring that you DON'T have dbm installed is not nice. – Greg Ball Jul 03 '09 at 09:35
  • cvs2svn *does* go to contortions to try to choose a decent database backend for anydbm; see http://cvs2svn.tigris.org/source/browse/cvs2svn/trunk/cvs2svn_lib/database.py?view=markup for the hairy details. – mhagger Jun 03 '10 at 04:06