diff options
Diffstat (limited to 'qpid/cpp')
| -rw-r--r-- | qpid/cpp/INSTALL | 182 |
1 files changed, 98 insertions, 84 deletions
diff --git a/qpid/cpp/INSTALL b/qpid/cpp/INSTALL index 27849b280c..a298685578 100644 --- a/qpid/cpp/INSTALL +++ b/qpid/cpp/INSTALL @@ -3,41 +3,107 @@ Table of Contents ================= -1. Introduction +1. How to Build and Install Qpid from a Source Distribution +2. Building a Repository Working Copy +3. Tests -2. Prerequisites - 2.1. What to Install - 2.2. How to Install - 2.2.1. Using Package Management Tools - 2.2.2. From Source - 2.3. Important Environment Variable Settings +4. Prerequisites + 4.1. What Prerequisite Libraries to Install + 4.2. How to Install Prerequisite Libraries + 4.2.1. Using Package Management Tools + 4.2.2. Building Prerequisites From Source + 4.3. Important Environment Variable Settings -3. Building from a Source Distribution -4. Building a Repository Working Copy -5. Tests +1. How to Build and Install Qpid from a Source Distribution +=========================================================== +Note 1: There are a number of prerequisite libraries that may need to be installed. + If this is the first time that you have built Qpid please check the prerequisites + section 4. below and/or check the output from running cmake for any errors. -1. Introduction -=============== -Note that the daemon and client API can be installed separately. +Note 2: As of Qpid 0.22 cmake is the preferred way to build Qpid + ***** The automake build method is DEPRECATED AND WILL BE REMOVED IN QPID 0.24 ***** -This document describes how to build the Qpid/C++ broker and client, either -from a checkout of the source or from a source distribution, on Linux/UNIX. -Please see INSTALL-WINDOWS for information on building on Windows. -This also explains how to install the required prerequisites for Qpid/C++. +In the cpp distribution directory (<qpid>/cpp), build the code with: + + # mkdir bld # This is just a suggested name for the build directory + # cd bld + # cmake .. # ".." is the path to the distribution directory + + # make all + +To run the tests: + + # make test + +To install (you may need to be root/sudo to do this): + + # make install + +To uninstall (you may need to be root/sudo to do this): + + # make uninstall + + +The daemon and client API may be built separately if so desired: + + # make qpidbroker + + # make qpidclient + +The available make targets can be listed using: + + # make help + + +You can have multiple builds in the same working copy with different +configuration. For example you can do the following to build twice, once for +debug, the other with optimization: + + # mkdir BLD-dbg BLD-opt + # (cd BLD-dbg; cmake -DCMAKE_BUILD_TYPE=Debug .. && make ) + # (cd BLD-opt; cmake -DCMAKE_BUILD_TYPE=Release .. && make) + +Note that there are 4 different predefined cmake build types: +Debug, Release, MinSizeRel, DebWithRelInfo: They each correspond to a different +set of build flags for respectively debug; release; minimum size release; release +with debug information. + +To see and edit all the available cmake options: + + # cmake-gui .. # ".." is the path to the distribution directory + + +2. Building a Repository Working Copy +===================================== +To get the source code from the subversion repository (trunk) do: + + # svn checkout http://svn.apache.org/repos/asf/qpid/trunk/qpid/. + +To build, cd to <qpid>/cpp subdirectory and then follow the instructions for building +from a Source Distribution in step (1). + + +3. Tests +======== +See <qpid>/cpp/src/tests/README.txt for details. -2. Prerequisites + +====================================================================================== + + +4. Prerequisites ================ We prefer to avoid spending time accommodating older versions of these packages, so please make sure that you have the latest stable versions. -Known version numbers for a succesfull build are given in brackets, take +Known version numbers for a succesful build are given in brackets, take these as a recommended minimum version. -2.1. What to Install -==================== +4.1. What Prerequisite Libraries to Install +=========================================== The following libraries and header files must be installed to build a source distribution: * boost <http://www.boost.org> (1.35)(*) @@ -61,7 +127,7 @@ Optional binding support for ruby requires: * swig <http://www.swig.org/> Qpid has been built using the GNU C++ compiler: - * gcc <http://gcc.gnu.org/> (3.4.6) + * gcc <http://gcc.gnu.org/> (3.4.6) If you want to build directly from the SVN repository you will need all of the above plus: @@ -74,7 +140,7 @@ all of the above plus: * ruby 1.8 <http://www.ruby-lang.org> (1.8.4) -NOTE: make sure to install the related '-devel' packages also! +NOTE: make sure to install the related '-devel' packages also!!!! To build the QMF (Qpid Management Framework) bindings for Ruby and Python, the following must also be installed: @@ -91,12 +157,11 @@ libuuid-devel. If you are using an older Linux release and run into a problem during configure in which uuid.h cannot be found, install the e2fsprogs-devel package. -2.2. How to Install -=================== +4.2. How to Install Prerequisite Libraries +========================================== -2.2.1. Using Package Management Tools +4.2.1. Using Package Management Tools ===================================== - On linux most packages can be installed using your distribution's package management tool. For example on Fedora: @@ -118,8 +183,8 @@ Optional legacystore store module. Follow the manual installation instruction below for any packages not available through your distributions packaging tool. -2.2.2. From Source -================== +4.2.2. Building Prerequisites From Source +========================================= Required dependencies can be installed and built from source distributions. It is recommended that you create a directory to install them to, for example, ~/qpid-tools. @@ -144,8 +209,11 @@ boost --layout=system --prefix=~/qpid-tools install -2.3. Important Environment Variable Settings +4.3. Important Environment Variable Settings ============================================ +Note that the following is generally not necessary if dependency packages have been +installed using Package Management Tools such as yum or apt. + Ensure that all the build tools are available on your path, when they are manually installed to non-standard locations. For example: @@ -163,57 +231,3 @@ For example: # export CXXFLAGS=-I~/qpid-tools/include/boost-1_33_1 - -3. Building from a Source Distribution -====================================== -In the cpp distribution directory, build the code with: - - # mkdir BLD # This is just a suggested name for the build directory - # cd BLD - # cmake .. # ".." is the path to the distribution directory - # make all - -To run the tests: - - # make test - -To install: - - # make install - -To uninstall: - - # make uninstall - -You can have multiple builds in the same working copy with different -configuration. For example you can do the following to build twice, once for -debug, the other with optimization: - - # mkdir BLD-dbg BLD-opt - # (cd BLD-dbg; cmake -DCMAKE_BUILD_TYPE=Debug .. && make ) - # (cd BLD-opt; cmake -DCMAKE_BUILD_TYPE=Release .. && make) - -Note that there are 4 different predefined cmake build types: -Debug, Release, MinSizeRel, DebWithRelInfo: They each correspond to a different -set of build flags for respectively debug; release; minimum size release; release -with debug information. - -To see and edit all the available cmake options: - - # cmake-gui .. # ".." is the path to the distribution directory - -4. Building a Repository Working Copy -===================================== - -To get the source code from the subversion repository (trunk) do: - - # svn checkout http://svn.apache.org/repos/asf/qpid/trunk/qpid/. - -To build, cd to qpid/cpp subdirectory and then follow instruction for building -from a source distribution in step (3). - - -5. Tests -======== -See src/tests/README.txt for details. - |
