SVN binding with Haskell

Christian Maeder Christian.Maeder at
Mon Sep 15 10:54:22 EDT 2008


I've install HsSVN (version 0.3.3) using ghc-6.8.3 and Cabal-,
but it was a real pain (under i686 Linux #1 SMP)

1. I had to install subversion-devel-1.4.4-30 (of course)
2. configure went through after setting:
export CPATH=/usr/include/apr-1:/usr/include/subversion-1
3. building failed with:

Program error: <handle>: IO.getContents: protocol error (input contains
non-character data - use binary I/O for binary data)

because some comments in the sources (i.e. Subversion/FileSystem.hsc)
contain funny (japanese?) characters that hsc2hs does not like. (Under
Solaris and Mac this was no problem, though.) I used iconv to convert
the sources and finally the included HelloWorld example went through.

4. Under Solaris, only apr-1-config and apu-1-config found the proper
include path (so I needed to adjust the file)

5. The file has no final newline, so that the last
line (containing the ld-options:) is missing in HsSVN.buildinfo after

6. Running the examples under Solaris failed with:
-bash-3.1$ ./HelloWorld
Creating a repository "repos"...
The youngest revision of the repository is 0
Storing a file "/hello" in it...
HelloWorld: user error (withSubversion: caught an SvnError: UnknownError
22: Can't set position pointer in file 'repos/db/revs/0': Invalid argument)

Cheers Christian

Shahzad wrote:
> Dear Sir/Madam,
> I am doctoral student and researcher in Technical University Vienna. I
> need to manage Subversion client and run SVN commands through
> Haskell6.8 , and I need to make that application for ubuntu and Windows,
> Can you guide me how to make any API for Haskell to use Subversion. 
> I was thinking to use c2hs to make an interface from C++ to haskell but
> I could not find that a solution. There is a Package HsSVN but is also
> not working.
> Can you please guide me to the solution..
> Best Regards
> Syed

More information about the Glasgow-haskell-users mailing list