Note: for building on windows, see QpidCppWindowsBuild
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:
* 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:
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:
Optional XML exchange requires:
Optional SSL support requires:
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 |
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.
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 |
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.