Mercurial > public > pelican-blog
diff content/Coding/012-windows-trac-upgrade-2.rst @ 4:7ce6393e6d30
Adding converted blog posts from old blog.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Thu, 30 Jan 2014 21:45:03 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/Coding/012-windows-trac-upgrade-2.rst Thu Jan 30 21:45:03 2014 -0600 @@ -0,0 +1,69 @@ +Upgrading Trac on Windows Gotcha - Part 2 +######################################### + +:date: 2012-03-21 20:10 +:tags: Python, Trac, Subversion, Windows +:slug: upgrading-trac-on-windows-gotcha-part-2 +:author: Brian Neal + +I have `previously reported`_ on some problems I had when upgrading our Trac_ +install at work. Today I attempted another upgrade to Subversion_ 1.7.4 and Trac +0.12.3 on Windows. I upgraded to Python_ 2.7.2 along the way. I ran into another +problem with the Python bindings to Subversion which took a while to figure out. +I had no problems upgrading Subversion, but Trac could not see our repository. +The symptoms were that the Trac "timeline" and "browse source" features were +missing. + +Following the `Trac troubleshooting advice`_, I opened an interactive Python +session and tried this: + +:: + + E:\Trac_Data>python + Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win + 32 + Type "help", "copyright", "credits" or "license" for more information. + >>> from svn import client + Traceback (most recent call last): + File "<stdin>", line 1, in <module> + File "C:\Python27\lib\site-packages\svn\client.py", line 26, in <module> + from libsvn.client import * + File "C:\Python27\lib\site-packages\libsvn\client.py", line 25, in <module> + _client = swig_import_helper() + File "C:\Python27\lib\site-packages\libsvn\client.py", line 21, in swig_import + _helper + _mod = imp.load_module('_client', fp, pathname, description) + ImportError: DLL load failed: The operating system cannot run %1 + +After some head scratching and googling I finally found the problem. I had used +the Windows .msi installer, `graciously provided by Alagazam`_, aka David Darj, +to install Subversion. This placed the Subversion binaries and DLL's in +``C:\Program Files\Subversion\bin``. I then unzipped the Python 2.7 bindings to +the ``C:\Python27\Lib\site-packages`` folder. The bindings depend on the DLL's +in the ``Subversion\bin`` folder. But unfortunately for me, there were already +two older versions of the DLL's, ``libeay32.dll`` and ``ssleay32.dll`` on my +path. So when the bindings went looking for those two DLL's, instead of finding +them in ``Subversion\bin``, it found the older versions somewhere else. + +To fix this, you can either rearrange your path, or copy those two DLL's to your +``Python27\Lib\site-packages\libsvn`` folder. In the future, I am going to just +copy all the DLL's from ``Subversion\bin`` to the ``libsvn`` folder. + +I examined the pre-built Subversion packages from Bitnami_ and CollabNet_. They +had packaged all of the Subversion DLL's with the Python bindings together in +the same directory, so this seems reasonable. Later, on the Subversion users' +mailing list, Alagazam gave the nod to this approach. + +A big thank you to Alagazam for the help and for the Windows binaries. And of +course thanks to the Apache_, Subversion_, Trac_, & Python_ teams for making +great tools. + +.. _previously reported: /2011/09/12/upgrading-trac-on-windows-gotchas +.. _Trac: http://trac.edgewall.org/ +.. _Subversion: http://subversion.apache.org/ +.. _Trac troubleshooting advice: http://trac.edgewall.org/wiki/TracSubversion#Checklist +.. _graciously provided by Alagazam: http://sourceforge.net/projects/win32svn/ +.. _Bitnami: http://bitnami.org/ +.. _CollabNet: http://www.collab.net/ +.. _Python: http://www.python.org/ +.. _Apache: http://subversion.apache.org/