mirror of https://github.com/ceph/ceph
60 lines
2.0 KiB
Plaintext
60 lines
2.0 KiB
Plaintext
|
|
||
|
The FreeBSD build will build most of the tools in Ceph.
|
||
|
Note that the RBD dependant items will not work since FreeBSD does not have RBS
|
||
|
|
||
|
Build Prerequisites
|
||
|
===================
|
||
|
|
||
|
Compiling and building Ceph is tested on 11-CURRENT
|
||
|
It uses the CLANG toolset that is available, which needs to be atleast 3.7
|
||
|
Clang 3.4 (on 10.2-STABLE) does not have all required capabilites to compile everything
|
||
|
|
||
|
The following setup will get things running for FreeBSD:
|
||
|
|
||
|
- Install bash and link it in /bin
|
||
|
# requires root privileges
|
||
|
sudo pkg install bash
|
||
|
sudo ln -s /usr/local/bin/bash /bin/bash
|
||
|
|
||
|
Building Ceph
|
||
|
=============
|
||
|
- Go and start building
|
||
|
./do_freebsd.sh
|
||
|
|
||
|
Parts not (yet) included:
|
||
|
=========================
|
||
|
|
||
|
- RBD kernel client
|
||
|
Rados Block Devices is implemented in the Linux kernel
|
||
|
It seems that there used to be a userspace implementation first.
|
||
|
And perhaps ggated could be used as a template since it does some of the
|
||
|
same, other than just between 2 disks. And it has a userspace counterpart.
|
||
|
* @trociny suggests:
|
||
|
Userspace RBD is available under FreeBSD (both librbd and rbd tool
|
||
|
(without linux specific commands) are buildable).
|
||
|
- BlueStore.
|
||
|
FreeBSD and Linux have different AIO API, and that needs to be made compatible
|
||
|
Next to that is there discussion in FreeBSD about aio_cancel not working for all
|
||
|
devicetypes
|
||
|
- CephFS
|
||
|
Cython tries to access an internal field in dirent which does not compile
|
||
|
|
||
|
Tests that verify the correct working of the above are also excluded from the testset
|
||
|
|
||
|
Test not (yet) include:
|
||
|
=======================
|
||
|
|
||
|
- ceph-detect-init/run-tox.sh
|
||
|
Because the current implementation does not know anything about FreeBSD rc-init.
|
||
|
- Tests that make use on nosestests.
|
||
|
Calling these doest not really work since nostests is not in /usr/bin, and calling
|
||
|
thru /usr/bin/env/nosetests does not work on FreeBSD.
|
||
|
test/pybind/test_ceph_argparse.py
|
||
|
test/pybind/test_ceph_daemon.py
|
||
|
|
||
|
Things to investigate:
|
||
|
======================
|
||
|
|
||
|
- ceph-{osd,mon} need 2 signals before they actually terminate.
|
||
|
|