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/