You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Brian Neal <bg...@gmail.com> on 2012/03/21 17:12:59 UTC

Problem with Python bindings to SVN 1.7.4 on Windows

Hello -

I'm trying to upgrade a Subversion and Trac install running on Windows
Server 2003 sp2.

I've installed Subversion 1.7.4 from the .msi file found here:
http://sourceforge.net/projects/win32svn/files/1.7.4/

I'm also using the Python 2.7 bindings found in that same directory
(svn-win32-1.7.4_py27.zip).

I've unzipped the Python binding into C:\Python27\Lib\site-packages.

Trac isn't able to load the bindings.

Here is a troubleshooting step and the output:

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

Does anyone have any ideas? I noticed there are no DLL files in the
libsvn folder in the bindings. In the past, with older versions of
Subversion, I've had to rename the libsvn/*.dll files to *.pyd to get
stuff to work. Now there is just *.pyd files in libsvn.

Thank you,
BN

RE: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by "Cooke, Mark" <ma...@siemens.com>.
> -----Original Message-----
> From: Brian Neal [mailto:bgneal@gmail.com] 
> Sent: 21 March 2012 16:13
> To: users@subversion.apache.org
> Subject: Problem with Python bindings to SVN 1.7.4 on Windows
> 
> Hello -
> 
> I'm trying to upgrade a Subversion and Trac install running on Windows
> Server 2003 sp2.
> 
> I've installed Subversion 1.7.4 from the .msi file found here:
> http://sourceforge.net/projects/win32svn/files/1.7.4/
> 
> I'm also using the Python 2.7 bindings found in that same directory
> (svn-win32-1.7.4_py27.zip).
> 
> I've unzipped the Python binding into C:\Python27\Lib\site-packages.
> 
> Trac isn't able to load the bindings.
> 
> Here is a troubleshooting step and the output:
> 
> 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
> 
> Does anyone have any ideas? I noticed there are no DLL files in the
> libsvn folder in the bindings. In the past, with older versions of
> Subversion, I've had to rename the libsvn/*.dll files to *.pyd to get
> stuff to work. Now there is just *.pyd files in libsvn.
> 
> Thank you,
> BN
> 
I'm sure something similar came up last week, did you check the list archive?  There was something about two files being missing in a similar scenario...

Also, have you tried copying *.pyd to *.dll to see if having both helps?  My understanding is recent versions of python (certainly 2.7) will only load .PYDs but something else might need .DLLs (I'm guessing here).  I seem to remember that with 2.6 I needed both.

~ mark c

RE: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by "Cooke, Mark" <ma...@siemens.com>.
> -----Original Message-----
> From: Alagazam.net Subversion [mailto:svn@alagazam.net] 
> Sent: 21 March 2012 19:41
> To: Brian Neal
> Cc: users@subversion.apache.org
> Subject: Re: Problem with Python bindings to SVN 1.7.4 on Windows
> 
> On 2012-03-21 20:14, Brian Neal wrote:
> > On Wed, Mar 21, 2012 at 1:41 PM, Alagazam.net Subversion
> > <sv...@alagazam.net>  wrote:
> > > Do you have another libeay32.dll and ssleay32.dll in some 
> > > other folder that is before Subversion\bin in your path ?
> > > If that's the case and these are older versions there
> > > might be trouble.
> > > 
> > > /David a.k.a. Alagazam

Ooo, I should have thought of that...

> > Why yes, those DLL's do exist in an earlier folder on the path!
> >
> > Is there anything that can be done to avoid a problem like 
> > that in the future? Perhaps a note in the readme? I have
> > noticed that Bitnami and Collabnet dump all the SVN and
> > Python binding DLL's into the same folder. I'm not a windows
> > / dll expert so I don't know if that is a good solution or not.

Yes and no, easier in a lot of cases for programmers and users but leads to bloat and duplication on the user's system.  However, it almost always helps to avoid "DLL Hell" although I notice from Thorsten's link:-

 ~ If a DLL with the same module name is already loaded in memory,
   the system uses the loaded DLL, no matter which directory it is
   in. The system does not search for the DLL.

...and...

 ~ The standard DLL search order used by the system depends on
   whether safe DLL search mode is enabled or disabled. Safe DLL
   search mode places the user's current directory later in the
   search order.

...neither of which I knew and both could be a problem.  Thanks microsoft.

So the safest solution is make sure you only have one version installed at a time?

~ mark c

> > Thanks for the help. And thanks very much for making those Windows
> > binaries available.
> >
> > -BN
> 
> That is a good solution.
> You can always have the habit of downloading the zip file with the 
> Subversion binaries (svn-win32-1.7.4.zip) and extract it (or at least 
> the dll:s) in the same folder where you have the Python bindings.
> 
> /David a.k.a. Alagazam
> 

Re: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by "Alagazam.net Subversion" <sv...@alagazam.net>.
On 2012-03-21 20:14, Brian Neal wrote:
> On Wed, Mar 21, 2012 at 1:41 PM, Alagazam.net Subversion
> <sv...@alagazam.net>  wrote:
>> Do you have another libeay32.dll and ssleay32.dll in some other folder that
>> is before Subversion\bin in your path ?
>> If that's the case and these are older versions there might be trouble.
>>
>> /David a.k.a. Alagazam
>>
> Why yes, those DLL's do exist in an earlier folder on the path!
>
> Is there anything that can be done to avoid a problem like that in the
> future? Perhaps a note in the readme? I have noticed that Bitnami and
> Collabnet dump all the SVN and Python binding DLL's into the same
> folder. I'm not a windows / dll expert so I don't know if that is a
> good solution or not.
>
> Thanks for the help. And thanks very much for making those Windows
> binaries available.
>
> -BN

That is a good solution.
You can always have the habit of downloading the zip file with the 
Subversion binaries (svn-win32-1.7.4.zip) and extract it (or at least 
the dll:s) in the same folder where you have the Python bindings.

/David a.k.a. Alagazam


Re: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by Thorsten Schöning <ts...@am-soft.de>.
Guten Tag Brian Neal,
am Mittwoch, 21. März 2012 um 20:14 schrieben Sie:

> Is there anything that can be done to avoid a problem like that in the
> future? Perhaps a note in the readme? I have noticed that Bitnami and
> Collabnet dump all the SVN and Python binding DLL's into the same
> folder. I'm not a windows / dll expert so I don't know if that is a
> good solution or not.

In many cases this is the preferred way of deploying DLLs, alternative
is to use WinSXS-technices, which needs support by the installation
packages. Deploying all DLLs of an application with the application is
the most easiest way, especially without installers.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx#standard_search_order_for_desktop_applications

Mit freundlichen Grüßen,

Thorsten Schöning

-- 
Thorsten Schöning       E-Mail:Thorsten.Schoening@AM-SoFT.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon.............030-2 1001-310
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hanover HRB 207 694 - Geschäftsführer: Andreas Muchow


Re: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by Brian Neal <bg...@gmail.com>.
On Wed, Mar 21, 2012 at 1:41 PM, Alagazam.net Subversion
<sv...@alagazam.net> wrote:
>
> Do you have another libeay32.dll and ssleay32.dll in some other folder that
> is before Subversion\bin in your path ?
> If that's the case and these are older versions there might be trouble.
>
> /David a.k.a. Alagazam
>

Why yes, those DLL's do exist in an earlier folder on the path!

Is there anything that can be done to avoid a problem like that in the
future? Perhaps a note in the readme? I have noticed that Bitnami and
Collabnet dump all the SVN and Python binding DLL's into the same
folder. I'm not a windows / dll expert so I don't know if that is a
good solution or not.

Thanks for the help. And thanks very much for making those Windows
binaries available.

-BN

Re: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by "Alagazam.net Subversion" <sv...@alagazam.net>.
On 2012-03-21 18:15, Brian Neal wrote:
> On Wed, Mar 21, 2012 at 12:10 PM, Cooke, Mark<ma...@siemens.com>  wrote:
>>> On Wed, Mar 21, 2012 at 11:12 AM, Brian Neal<bg...@gmail.com>  wrote:
>>>
>>> I have solved my problem by copying libeay32.dll and ssleay32.dll from
>>> the Subversion\bin folder to C:\Python27\Lib\site-packages\libsvn
>>> folder. I got this tip via a google search on the Trac users list. I
>>> don't understand this, but thought I would follow-up here on this list
>>> in case it helps other poor dopes who have to run on Windows.
>>>
>>> -BN
>>>
>> Thinking about this, I have the subversion bin folder in my path, I suspect that it is not in yours?  I assume therefore you probably use TortoiseSVN (and why not) which does not (AFAIK) need svn in the path so does not add it...
>>
>> ~ mark c
> I'm doing all this work on the server side. Yes, C:\Program
> Files\Subversion\bin is on the path. It is needed for Apache to find
> the SVN binaries. It is strange that I also need to copy those 2 DLL's
> to the Python bindings folder.
>
> Thanks,
> BN
Do you have another libeay32.dll and ssleay32.dll in some other folder 
that is before Subversion\bin in your path ?
If that's the case and these are older versions there might be trouble.

/David a.k.a. Alagazam


Re: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by Brian Neal <bg...@gmail.com>.
On Wed, Mar 21, 2012 at 12:10 PM, Cooke, Mark <ma...@siemens.com> wrote:
>>
>> On Wed, Mar 21, 2012 at 11:12 AM, Brian Neal <bg...@gmail.com> wrote:
>>
>> I have solved my problem by copying libeay32.dll and ssleay32.dll from
>> the Subversion\bin folder to C:\Python27\Lib\site-packages\libsvn
>> folder. I got this tip via a google search on the Trac users list. I
>> don't understand this, but thought I would follow-up here on this list
>> in case it helps other poor dopes who have to run on Windows.
>>
>> -BN
>>
> Thinking about this, I have the subversion bin folder in my path, I suspect that it is not in yours?  I assume therefore you probably use TortoiseSVN (and why not) which does not (AFAIK) need svn in the path so does not add it...
>
> ~ mark c

I'm doing all this work on the server side. Yes, C:\Program
Files\Subversion\bin is on the path. It is needed for Apache to find
the SVN binaries. It is strange that I also need to copy those 2 DLL's
to the Python bindings folder.

Thanks,
BN

RE: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by "Cooke, Mark" <ma...@siemens.com>.
> -----Original Message-----
> From: Brian Neal [mailto:bgneal@gmail.com] 
> Sent: 21 March 2012 17:02
> To: users@subversion.apache.org
> Subject: Re: Problem with Python bindings to SVN 1.7.4 on Windows
> 
> On Wed, Mar 21, 2012 at 11:12 AM, Brian Neal <bg...@gmail.com> wrote:
> [... snip ..]
> > Hello -
> >
> > I'm trying to upgrade a Subversion and Trac install running 
> on Windows
> > Server 2003 sp2.
> >
> > I've installed Subversion 1.7.4 from the .msi file found here:
> > http://sourceforge.net/projects/win32svn/files/1.7.4/
> >
> > I'm also using the Python 2.7 bindings found in that same directory
> > (svn-win32-1.7.4_py27.zip).
> >
> > I've unzipped the Python binding into C:\Python27\Lib\site-packages.
> >
> > Trac isn't able to load the bindings.
> >
> [... snip ...]
> >   _mod = imp.load_module('_client', fp, pathname, description)
> > ImportError: DLL load failed: The operating system cannot run %1
> 
> I have solved my problem by copying libeay32.dll and ssleay32.dll from
> the Subversion\bin folder to C:\Python27\Lib\site-packages\libsvn
> folder. I got this tip via a google search on the Trac users list. I
> don't understand this, but thought I would follow-up here on this list
> in case it helps other poor dopes who have to run on Windows.
> 
> -BN
> 
Thinking about this, I have the subversion bin folder in my path, I suspect that it is not in yours?  I assume therefore you probably use TortoiseSVN (and why not) which does not (AFAIK) need svn in the path so does not add it...

~ mark c

Re: Problem with Python bindings to SVN 1.7.4 on Windows

Posted by Brian Neal <bg...@gmail.com>.
On Wed, Mar 21, 2012 at 11:12 AM, Brian Neal <bg...@gmail.com> wrote:
[... snip ..]
> Hello -
>
> I'm trying to upgrade a Subversion and Trac install running on Windows
> Server 2003 sp2.
>
> I've installed Subversion 1.7.4 from the .msi file found here:
> http://sourceforge.net/projects/win32svn/files/1.7.4/
>
> I'm also using the Python 2.7 bindings found in that same directory
> (svn-win32-1.7.4_py27.zip).
>
> I've unzipped the Python binding into C:\Python27\Lib\site-packages.
>
> Trac isn't able to load the bindings.
>
[... snip ...]
>   _mod = imp.load_module('_client', fp, pathname, description)
> ImportError: DLL load failed: The operating system cannot run %1

I have solved my problem by copying libeay32.dll and ssleay32.dll from
the Subversion\bin folder to C:\Python27\Lib\site-packages\libsvn
folder. I got this tip via a google search on the Trac users list. I
don't understand this, but thought I would follow-up here on this list
in case it helps other poor dopes who have to run on Windows.

-BN