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

Re: Checksum error

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2003-02-24 21:56:11 CET

"Oxley, David" <David.Oxley@workplace-systems.plc.uk> writes:

> Got any instructions on how to get valgrind and debug pools and I will
> happily provide.

valgrind only runs on Linux on x86 as far as I know. It may come with
your Linux distribution, but if not you can get the source from

http://developer.kde.org/~sewardj/

I use valgrind-1.0.4 successfully. Once you have valgrind installed,
using it is simple. Where you would run

$ svn command parameters

you run

$ valgrind svn command parameters

and valgrind prints it's output to stderr.

Just doing that may be enough to track down your problem. On the
other hand it may not show anything as APR's memory pools tend to
defeat a lot of valgrind's checking. Enabling pool debugging allows
valgrind to do more checking.

For pool debugging you configure APR with "--enable-pool-debug=yes"
and then rebuild. Assuming you have a separate Apache/APR build
(other ways may work, but this is based on what I do) use something
like

$ cd <apache-dir>
$ make clean
$ ./configure --enable-pool-debug=yes \
              --enable-dav=shared \
              --enable-so \
              --with-dbm=db4 \
              --prefix=<apache-install>
$ make
$ make install
$ cd <subversion-dir>
$ make clean
$ ./configure --with-apr=<apache-install> \
              --with-apr-util=<apache-install> \
              --with-apxs=<apache-install>/bin/apxs \
              --prefix=<subversion-install>
$ make

It's important that APR and Subversion get recompiled when switching
pool debugging on or off as pool debug code is not binary compatible
with the normal code. For the same reason it is a good idea for
<apache-install> to be a different directory from your normal Apache
install. You may install the pool debug enabled Subversion and then
run valgrind as shown above. Alternatively you can run valgrind
directly on the Subversion build dir, first run the svn script

$ subversion/clients/cmdline/svn

and then run valgrind on the relinked binary

$ valgrind subversion/clients/cmdline/.libs/lt-svn command parameters

The relinked binary won't exist until after you run the svn script.
It is perfectly OK to use an svn client built with pool debugging to
access a normal Apache server over ra_dav.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Feb 24 21:56:54 2003

This is an archived mail posted to the Subversion Dev mailing list.