Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/ceph/ceph
Browse files Browse the repository at this point in the history
  • Loading branch information
wido committed Nov 8, 2013
2 parents 5df3024 + 3c70da2 commit 6248627
Show file tree
Hide file tree
Showing 117 changed files with 3,436 additions and 1,896 deletions.
14 changes: 13 additions & 1 deletion autogen.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/bin/sh

set -e

check_for_pkg_config() {
which pkg-config >/dev/null && return

Expand All @@ -11,10 +13,20 @@ check_for_pkg_config() {
exit 1
}

if [ `which libtoolize` ]; then
LIBTOOLIZE=libtoolize
elif [ `which glibtoolize` ]; then
LIBTOOLIZE=glibtoolize
else
echo "Error: could not find libtoolize"
echo " Please install libtoolize or glibtoolize."
exit 1
fi

rm -f config.cache
aclocal -I m4 --install
check_for_pkg_config
libtoolize --force --copy
$LIBTOOLIZE --force --copy
autoconf
autoheader
automake -a --add-missing -Wall
Expand Down
20 changes: 19 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ AC_PREREQ(2.59)
# VERSION define is not used by the code. It gets a version string
# from 'git describe'; see src/ceph_ver.[ch]

AC_INIT([ceph], [0.72-rc1], [[email protected]])
AC_INIT([ceph], [0.72], [[email protected]])

# Create release string. Used with VERSION for RPMs.
RPM_RELEASE=0
Expand Down Expand Up @@ -113,6 +113,10 @@ AM_CONDITIONAL([ENABLE_FPU_NEON], [case $target_cpu in arm*) true;; *) false;; e
AX_CHECK_COMPILE_FLAG([-fvar-tracking-assignments], [HAS_VTA_SUPPORT=1], [HAS_VTA_SUPPORT=0])
AM_CONDITIONAL(COMPILER_HAS_VTA, [test "$HAS_VTA_SUPPORT" = 1])

AX_CXX_STATIC_CAST
AX_C_VAR_FUNC
AX_C_PRETTY_FUNC

# Checks for libraries.
ACX_PTHREAD
AC_CHECK_LIB([uuid], [uuid_parse], [true], AC_MSG_FAILURE([libuuid not found]))
Expand Down Expand Up @@ -535,9 +539,23 @@ AC_CHECK_FUNC([fallocate],
[AC_DEFINE([CEPH_HAVE_FALLOCATE], [], [fallocate(2) is supported])],
[])

#
# Test for time-related `struct stat` members.
#

AC_CHECK_MEMBER([struct stat.st_mtim.tv_nsec],
[AC_DEFINE(HAVE_STAT_ST_MTIM_TV_NSEC, 1,
[Define if you have struct stat.st_mtim.tv_nsec])])

AC_CHECK_MEMBER([struct stat.st_mtimespec.tv_nsec],
[AC_DEFINE(HAVE_STAT_ST_MTIMESPEC_TV_NSEC, 1,
[Define if you have struct stat.st_mtimespec.tv_nsec])])

AC_CHECK_HEADERS([arpa/nameser_compat.h])
AC_CHECK_HEADERS([sys/prctl.h])
AC_CHECK_FUNCS([prctl])
AC_CHECK_FUNCS([pipe2])
AC_CHECK_FUNCS([posix_fadvise])

# Checks for typedefs, structures, and compiler characteristics.
#AC_HEADER_STDBOOL
Expand Down
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
ceph (0.72-1) stable; urgency=low

* New upstream release

-- Gary Lowell <[email protected]> Thu, 07 Nov 2013 20:25:18 +0000

ceph (0.72-rc1-1) stable; urgency=low

* New upstream release
Expand Down
File renamed without changes.
Binary file added doc/images/region-zone-sync.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/images/zone-sync.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
176 changes: 176 additions & 0 deletions doc/install/build-ceph.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
============
Build Ceph
============

You can get Ceph software by retrieving Ceph source code and building it yourself.
To build Ceph, you need to set up a development environment, compile Ceph,
and then either install in user space or build packages and install the packages.

Build Prerequisites
===================


.. tip:: Check this section to see if there are specific prerequisites for your
Linux/Unix distribution.

Before you can build Ceph source code, you need to install several libraries
and tools. Ceph provides ``autoconf`` and ``automake`` scripts to get you
started quickly. Ceph build scripts depend on the following:

- ``autotools-dev``
- ``autoconf``
- ``automake``
- ``cdbs``
- ``gcc``
- ``g++``
- ``git``
- ``libboost-dev``
- ``libedit-dev``
- ``libssl-dev``
- ``libtool``
- ``libfcgi``
- ``libfcgi-dev``
- ``libfuse-dev``
- ``linux-kernel-headers``
- ``libcrypto++-dev``
- ``libcrypto++``
- ``libexpat1-dev``
- ``pkg-config``
- ``libcurl4-gnutls-dev``

On Ubuntu, execute ``sudo apt-get install`` for each dependency that isn't
installed on your host. ::

sudo apt-get install autotools-dev autoconf automake cdbs gcc g++ git libboost-dev libedit-dev libssl-dev libtool libfcgi libfcgi-dev libfuse-dev linux-kernel-headers libcrypto++-dev libcrypto++ libexpat1-dev

On Debian/Squeeze, execute ``aptitude install`` for each dependency that isn't
installed on your host. ::

aptitude install autotools-dev autoconf automake cdbs gcc g++ git libboost-dev libedit-dev libssl-dev libtool libfcgi libfcgi-dev libfuse-dev linux-kernel-headers libcrypto++-dev libcrypto++ libexpat1-dev pkg-config libcurl4-gnutls-dev
On Debian/Wheezy, you may also need::

keyutils-dev libaio libboost-thread-dev

.. note:: Some distributions that support Google's memory profiler tool may use
a different package name (e.g., ``libgoogle-perftools4``).

Ubuntu
------

- ``uuid-dev``
- ``libkeyutils-dev``
- ``libgoogle-perftools-dev``
- ``libatomic-ops-dev``
- ``libaio-dev``
- ``libgdata-common``
- ``libgdata13``
- ``libsnappy-dev``
- ``libleveldb-dev``

Execute ``sudo apt-get install`` for each dependency that isn't installed on
your host. ::

sudo apt-get install uuid-dev libkeyutils-dev libgoogle-perftools-dev libatomic-ops-dev libaio-dev libgdata-common libgdata13 libsnappy-dev libleveldb-dev


Debian
------

Alternatively, you may also install::

aptitude install fakeroot dpkg-dev
aptitude install debhelper cdbs libexpat1-dev libatomic-ops-dev

openSUSE 11.2 (and later)
-------------------------

- ``boost-devel``
- ``gcc-c++``
- ``libedit-devel``
- ``libopenssl-devel``
- ``fuse-devel`` (optional)

Execute ``zypper install`` for each dependency that isn't installed on your
host. ::

zypper install boost-devel gcc-c++ libedit-devel libopenssl-devel fuse-devel



Build Ceph
==========

Ceph provides ``automake`` and ``configure`` scripts to streamline the build
process. To build Ceph, navigate to your cloned Ceph repository and execute the
following::

cd ceph
./autogen.sh
./configure
make

.. topic:: Hyperthreading

You can use ``make -j`` to execute multiple jobs depending upon your system. For
example, ``make -j4`` for a dual core processor may build faster.

See `Installing a Build`_ to install a build in user space.

Build Ceph Packages
===================

To build packages, you must clone the `Ceph`_ repository. You can create
installation packages from the latest code using ``dpkg-buildpackage`` for
Debian/Ubuntu or ``rpmbuild`` for the RPM Package Manager.

.. tip:: When building on a multi-core CPU, use the ``-j`` and the number of
cores * 2. For example, use ``-j4`` for a dual-core processor to accelerate
the build.


Advanced Package Tool (APT)
---------------------------

To create ``.deb`` packages for Debian/Ubuntu, ensure that you have cloned the
`Ceph`_ repository, installed the `Build Prerequisites`_ and installed
``debhelper``::

sudo apt-get install debhelper

Once you have installed debhelper, you can build the packages::

sudo dpkg-buildpackage

For multi-processor CPUs use the ``-j`` option to accelerate the build.


RPM Package Manager
-------------------

To create ``.rpm`` packages, ensure that you have cloned the `Ceph`_ repository,
installed the `Build Prerequisites`_ and installed ``rpm-build`` and
``rpmdevtools``::

yum install rpm-build rpmdevtools

Once you have installed the tools, setup an RPM compilation environment::

rpmdev-setuptree

Fetch the source tarball for the RPM compilation environment::

wget -P ~/rpmbuild/SOURCES/ http://ceph.com/download/ceph-<version>.tar.gz

Or from the EU mirror::

wget -P ~/rpmbuild/SOURCES/ http://eu.ceph.com/download/ceph-<version>.tar.gz

Build the RPM packages::

rpmbuild -tb ~/rpmbuild/SOURCES/ceph-<version>.tar.gz

For multi-processor CPUs use the ``-j`` option to accelerate the build.

.. _Ceph: ../clone-source
.. _Installing a Build: ../install-storage-cluster#installing-a-build
56 changes: 0 additions & 56 deletions doc/install/build-packages.rst

This file was deleted.

Loading

0 comments on commit 6248627

Please sign in to comment.