Note: for building on windows, see QpidCppWindowsBuild
Qpid SVN Trunk Build Instructions
Prerequisites
Some of the source is auto-generated from the AMQP spec file. This generator is written in Ruby. Auto-generation is performed by running make (see below); no special steps are required.
Ensure you have the latest devel versions of the following packages installed:
- boost <http://www.boost.org> (>=1.33) *
- e2fsprogs <http://e2fsprogs.sourceforge.net/>
* There is a patch to get v.1.32 working in the svn tree though that is only recommended as a last resort.
To build directly from the SVN repository you will need all of the above plus the following development tools:
- pkgconfig <http://pkgconfig.freedesktop.org/wiki/>
- gcc <http://gcc.gnu.org/>
- GNU make <http://www.gnu.org/software/make/>
- autoconf <http://www.gnu.org/software/autoconf/>
- automake <http://www.gnu.org/software/automake/>
- help2man <http://www.gnu.org/software/help2man/>
- libtool <http://www.gnu.org/software/libtool/>
- doxygen <ftp://ftp.stack.nl/pub/users/dimitri/>
- graphviz <http://www.graphviz.org/>
- ruby <http://www.ruby-lang.org>
Hint: To check and install all of the above, use (as root):
yum install boost-devel e2fsprogs-devel pkgconfig gcc-c++ make autoconf automake help2man libtool doxygen graphviz ruby
Optional cluster functionality requires:
- openais <http://openais.org/>
Optional XML exchange requires:
- xqilla <http://xqilla.sourceforge.net/HomePage>
- xerces-c <http://xerces.apache.org/xerces-c/>
Optional SSL support requires:
- nss <http://www.mozilla.org/projects/security/pki/nss/>
- nspr <http://www.mozilla.org/projects/nspr/>
Check out the source
Check the source for Qpid java out of our subversion repository: https://svn.apache.org/repos/asf/qpid/trunk/qpid/
svn co https://svn.apache.org/repos/asf/qpid/trunk/qpid
Automake vs CMake
Currently we have 2 parallel build systems one using automake the other using cmake.
We are moving towards cmake and will eventually get rid of automake, but for the moment the cmake system is not complete and we have to live with both.
That means if you add a file to the build, you must update both Makefile.am and CMakeLists.txt and check that you can build with both systems as described below.
Build with automake
First you need to initialize the autotools:
./bootstrap
To build Qpid, run
./configure make
By default, configure will enable the options for which it finds the installed packages. However, to override this behavior, use parameters with configure to disable unwanted options.
Hint: To see all the configure options, run
./configure --help
Finally, to make sure all the test pass both C++ and Pyhton run
make check
As a convenient shortcut you can do all of the above steps in one command with:
./bootstrap -build
Build with cmake
mkdir builddir cd buildir cmake <path to checkout>/cpp/CMakeLists.txt make # Build make test # Run tests
You can also use the interactive ccmake on linux and the GUI on windows to modify the configuration.