[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [Subclipse-users] Cannot use javahl nor command line svn client

From: Mark Phippard <markphip_at_gmail.com>
Date: 2007-12-18 01:40:35 CET

On Dec 17, 2007 5:18 PM, BrianP <Brian_Preston@firstdatabank.com> wrote:
>
> I'm having the same problem. I've also read the previous posts on this issue
> and found them not detailed enough to be helpful, so I'll try to ask more
> specific questions in the hopes of getting a more specific answer.

I answer a lot of questions on this list, so let me quickly explain
why I do not jump on these. This "project"on tigris really includes
three projects. Subclipse, svnClientAdapter and svnAnt. Both
Subclipse and svnAnt use svnClientAdapter to talk to Subversion API.

I work on Subclipse, and therefore I also work a lot on
svnClientAdapter. I personally write the most code for the latter.

I have never used svnAnt, and I have never really looked at the code.
So I do not know much about it. I do know svnClientAdapter, so I will
occasionally answer an svnAnt question that is obvious to me.
Unfortunately, there really are not any active svnAnt resources
around. A few have expressed interest, but none have ever followed
through. I am not sure who originally wrote it, it was already here
when I joined the project.

> When the error refers to the 'command line client', what exactly is it
> talking about? Is it referring to part of the command line client that
> comes with the full subversion install? If so, it seems strange that I
> would have to install the full subversion in order to get the 'command line
> client', which is required for svnant to work.

A full Subversion install, as you call it, is essentially just the
"svn" executable and dependent libraries. It might also include the
svnserve executable and the Apache modules. But the "guts" of
Subversion is those libraries and all of the executables use them. So
there is little difference between a "full" install and a "command
line" install. When svnClientAdapter issues this message, it means
the "svn" executable was not found on the path. I believe it executes
"svn --version" and gives this message if it gets an error or an
unsupported version.

You would probably want to set PATH to include what you need to run
the command line.

NOTE: Subclipse does support using the svn command line because the
support for it in svnClientAdapter is not complete enough. However,
for the purposes of svnAnt it is fine, and I would typically recommend
using the command line for that tool. As a point of trivia, the
NetBeans Subversion client also uses our svnClientAdapter, and they
ONLY support the command line option. So the command line does work,
just not to the extent we need for Subclipse.

> When the error refers to using javahl, what exactly is it looking for? A
> dll?

It would be looking for the libsvnjavahl-1.dll. Basically, it would
be using JNI to load the library. That being said, to load this
library successfully, the library still has to have all of those
Subversion libraries and dependencies. It is not enough to have the
one library.

> Another thread about this issue mentioned that the javahl dlls are
> included in subclipse. I'm trying to set up a build machine to run my ant
> script to checkout and build my project, so I'm trying to do the minimal
> installs on this machine to get it working. This means I'm not planning on
> installing Eclipse. What dlls do I need in this case?

You can download the JavaHL DLL from subversion.tigris.org. A zip
file exists alongside the other downloads. You would need to download
and unzip the full command line install, then download and unzip the
JavaHL library. I would then copy the DLL to the "bin" folder from
the first install so that there was just one folder to add to PATH.

> I've downloaded the subclipse zip file 'site-1.2.4.zip' which has an
> 'org.tigris.subversion.javahl.win32_1.2.4.jar' in it. This jar has several
> dlls in it, including libsvnjavahl-1.dll. I tried adding the directory
> where I extracted the contents of this jar to my system path and running the
> ant script (it failed), then tried adding the specific javahl dll to my
> system path and running the ant script - still failed.

That should work, but you would have to be sure that the path was
really set. It is possible the Ant script alters PATH. The other
thing you have to watch out for is incompatible copies of the same
DLL. For example, one of the DLL's that is required is OpenSSL. This
DLL is very incompatible from one version to the next and there are a
lot of bad Windows installs that put the DLL's in System32. Look for
libeay32.dll and libssl32.dll.

I'd just get the command line client installed and put its bin folder on PATH.

-- 
Thanks
Mark Phippard
http://markphip.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subclipse.tigris.org
For additional commands, e-mail: users-help@subclipse.tigris.org
Received on Tue Dec 18 01:40:52 2007

This is an archived mail posted to the Subclipse Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.