Installing on RedHat or CentOS
From Ceph wiki
Contents |
Building from source
To build Ceph from source, first make sure you have all the packages mentioned on ceph_dependencies.
Some can be installed via yum (you may want to add the EPEL and/or RPMforge repositories first):
yum install gcc gcc-c++ automake libtool expat expat-devel boost-devel nss-devel cryptopp cryptopp-devel libatomic_ops-devel fuse-devel
Install libedit
libedit is available from RPMforge or can be installed from the testing repositories of CentOS, like so:
rpm -Uvh http://dev.centos.org/centos/5/testing/x86_64/RPMS/libedit-3.0-2.20090905cvs.el5.centos.x86_64.rpm rpm -Uvh http://dev.centos.org/centos/5/testing/x86_64/RPMS/libedit-devel-3.0-2.20090905cvs.el5.centos.x86_64.rpm
Building Ceph itself
Then, get a copy of the source:
git clone git://github.com/ceph/ceph.git
Switch to the stable branch
cd ceph git checkout -b stable origin/stable
Then run:
./autogen.sh CXXFLAGS="-g -O2" ./configure --prefix=/usr --sbindir=/sbin --localstatedir=/var --sysconfdir=/etc make -j 8 sudo make install
Building RPMs
The spec file included with Ceph can be used to build RedHat RPMs with a little tweaking (as of v0.25.2). You'll need the rpm-build package installed as well as all the usual dependencies.
First, download the latest tarball (or tar up your git checkout) and configure as above to build the spec file:
./autogen.sh CXXFLAGS="-g -O2" ./configure --prefix=/usr --sbindir=/sbin --localstatedir=/var --sysconfdir=/etc
Then copy the spec file and tarball into the RPM SPECS and SOURCES folders, respectively. You'll need to be root to use the system RPM dir, but it's possible to build without root as well.
cp ceph.spec /usr/src/redhat/SPECS cp ceph-X.XX.X.tar.gz /usr/src/redhat/SOURCES
Add the following lines to ~/.rpmmacros to avoid a few harmless errors until the spec gets fixed (and remove them when you're done, as this will affect ALL packages you build):
_unpackaged_files_terminate_build 0 _missing_doc_files_terminate_build 0
Then build the RPMs:
rpmbuild -bb ceph.spec
The resulting RPMs will be in /usr/src/redhat/RPMS/x86_64 (assuming you built 64-bit binaries).