X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2FREADME.md;h=1f00c5dd1d44c02ff383788bb0c8f942c1b1cacc;hb=05a536ef04248702f72713fd2fe81cb055624784;hp=c39f98707a54f55c4c04c5922263f7e81b1e37d2;hpb=ab27109dd2e88c6e1082a346b3be8444697297c6;p=ceph.git diff --git a/ceph/README.md b/ceph/README.md index c39f98707..1f00c5dd1 100644 --- a/ceph/README.md +++ b/ceph/README.md @@ -23,33 +23,49 @@ contributed under the terms of the applicable license. ## Checking out the source -You can clone from github with +Clone the ceph/ceph repository from github by running the following command on +a system that has git installed: git clone git@github.com:ceph/ceph -or, if you are not a github user, +Alternatively, if you are not a github user, you should run the following +command on a system that has git installed: git clone https://github.com/ceph/ceph.git -Ceph contains many git submodules that need to be checked out with +When the ceph/ceph repository has been cloned to your system, run the following +command to check out the git submodules associated with the ceph/ceph +repository: git submodule update --init --recursive ## Build Prerequisites -The list of Debian or RPM packages dependencies can be installed with: +*section last updated 27 Jul 2023* + +Make sure that ``curl`` is installed. The Debian and Ubuntu ``apt`` command is +provided here, but if you use a system with a different package manager, then +you must use whatever command is the proper counterpart of this one: + + apt install curl + +Install Debian or RPM package dependencies by running the following command: ./install-deps.sh +Install the ``python3-routes`` package: + + apt install python3-routes + ## Building Ceph -Note that these instructions are meant for developers who are -compiling the code for development and testing. To build binaries -suitable for installation we recommend you build deb or rpm packages -or refer to the `ceph.spec.in` or `debian/rules` to see which -configuration options are specified for production builds. +These instructions are meant for developers who are compiling the code for +development and testing. To build binaries that are suitable for installation +we recommend that you build .deb or .rpm packages, or refer to ``ceph.spec.in`` +or ``debian/rules`` to see which configuration options are specified for +production builds. Build instructions: @@ -57,21 +73,20 @@ Build instructions: cd build ninja -(do_cmake.sh now defaults to creating a debug build of ceph that can -be up to 5x slower with some workloads. Please pass -"-DCMAKE_BUILD_TYPE=RelWithDebInfo" to do_cmake.sh to create a non-debug -release. +``do_cmake.sh`` defaults to creating a debug build of Ceph that can be up to 5x +slower with some workloads. Pass ``-DCMAKE_BUILD_TYPE=RelWithDebInfo`` to +``do_cmake.sh`` to create a non-debug release. The number of jobs used by `ninja` is derived from the number of CPU cores of the building host if unspecified. Use the `-j` option to limit the job number if the build jobs are running out of memory. On average, each job takes around -2.5GiB memory.) +2.5GiB memory. -This assumes you make your build dir a subdirectory of the ceph.git +This assumes that you make your build directory a subdirectory of the ceph.git checkout. If you put it elsewhere, just point `CEPH_GIT_DIR` to the correct -path to the checkout. Any additional CMake args can be specified by setting ARGS -before invoking do_cmake. See [cmake options](#cmake-options) -for more details. Eg. +path to the checkout. Additional CMake args can be specified by setting ARGS +before invoking ``do_cmake.sh``. See [cmake options](#cmake-options) +for more details. For example: ARGS="-DCMAKE_C_COMPILER=gcc-7" ./do_cmake.sh