The contents of this wiki are no longer actively maintained. The most current documentation is available at http://ceph.com/docs.

Installing on RedHat or CentOS

From Ceph wiki

Revision as of 03:02, 7 March 2012 by Flyzzy (Talk | contribs)
Jump to: navigation, search

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).

Personal tools