XML-RPC for C and C++

A lightweight RPC library based on XML and HTTP.

Copyright 2001 Eric Kidd. All rights reserved. The contents of this website may be distributed under the same license terms as XML-RPC for C/C++. Funding for the initial releases of XML-RPC for C/C++ was provided in part by First Peer, Inc.

SourceForge Logo

Downloading XML-RPC for C/C++

XML-RPC for C/C++ (Xmlrpc-c) is developed and distributed by a Sourceforge project.

The most normal way to get Xmlrpc-c is to get the source package and build it for the particular system on which you want to run it.

Xmlrpc-c has a sophisticated, rather novel system of releasing source code (see Release System), but you probably don't need to know any more than the following to download Xmlrpc-c.

No matter how you get the Xmlrpc-c source code, you have to build it, following instructions and using tools in the package, before you can install and use it. The procedure for this is fairly standard for Unix source distributions, and is described in the file README in the source package. For Windows, it takes a little more imagination, but you can find instructions and tools in the Windows directory in the source package.

The source code packages do not contain documentation. The documentation is online, and if you want a local copy, you can get that from the project Subversion repository in directory userguide. Note that a single manual covers all releases.

At any particular time, there are 3 Xmlrpc-c releases from which to choose:
Series name Bugs Features How to download History/Release #
Super Stable Very few many years old Conventional source code tarball from Sourceforge [link]
Stable Few up to 2 years old Subversion [link]
Advanced Many up to 1/4 year old Subversion [link]

Note that none of these releases have any known bugs. The bugs are those that haven't been reported yet.

Downloading A Tarball

Get the tarball for the current Super Stable release from the Sourceforge File Releases facility.

This is a highly conventional Unix source code package. Use the conventional Unix program tar to unpack it. It is Gzipped.

The project does not distribute tarballs for the other release series.

(Before 2013, there was a way to get a tarball of all the series, using a Sourceforge feature that generated it from the Subversion repository, but Sourceforge withdrew that service).

Downloading From Subversion

The URL of the Xmlrpc-c Subversion repository is http://svn.code.sf.net/p/xmlrpc-c/code. So to download the current Advanced release:


    REPOS=http://svn.code.sf.net/p/xmlrpc-c/code/advanced
    svn checkout $REPOS xmlrpc-c

That puts the source tree in a directory called xmlrpc-c in your current directory.

To download the current Stable release, replace "advanced" with "stable" in the above command.

Downloading from Subversion is not a common way to get a release of software, but it is very easy. You need a Subversion client program to do it, but even that is not hard to get, and you may well find other uses for a Subversion client later.

If you don't know what Subversion is: It's a system designed for tracking changes to code as people develop it. Subversion is primarily intended to be used by developers, but works well as a release tool as well.

If you need a tarball of an Xmlrpc-c release, it is not hard to write a program to extract it from Subversion (use a Subversion export command) and generate the tarball from that.

The reason Xmlrpc-c uses this nontraditional method of distributing code is that it saves work for the Xmlrpc-c maintainer. In some cases, it shifts work from the maintainer to the user. In others, it actually eliminates work.

If you don't have Subversion installed on your system (type svn at a shell prompt to find out), see Getting Subversion for information on getting it.

Browsing

You can browse the source code one file at a time with Sourceforge's Subversion web access.

Pre-Built Distributions

Many system packagers (OS suppliers) provide pre-built (binary) packages. They're typically made from older source code and have more bugs, but it is usually far easier to install one of these than to build your own.

System packagers typically separate XML-RPC For C/C++ (like any other programming library facility) into two packages: one to be installed on your system if you want to run programs that use Xmlrpc-c, and another for you to install if you want to build programs to use Xmlrpc-c. The second one is typically called the "development" package and has a package name that ends in "-devel'.

The main package includes the library binaries, such as libxmlrpc.so, and because it is a prerequisite of other packages, may be already installed on your system. The development package includes header files such as client.h and is unlikely to be installed unless you explicitly installed it.

Some distributors break XML-RPC For C/C++ down even further, for example a run time package for XML-RPC clients and another run-time package for XML-RPC servers.

After you download XML-RPC For C/C++, you may also want to sign up for the xmlrpc-c-announce mailing list. Other mailing lists are also available.

Getting Old Code

The instructions on this page are just for getting current Xmlrpc-c. To get source code for older releases, see XML-RPC For C/C++ Release System.