mirror of
https://github.com/ceph/ceph
synced 2024-12-22 11:31:55 +00:00
89f63d4ae8
- README.FreeBSD for the description of the current work thusfar - do_freebsd.sh, the srcipt to run autobuild/compile/tests - autogen_freebsd.sh set the options to use in the auto/configure tools - do_freebsd.sh: Install bash and softlink, so other bash scripts can run as is. Using /usr/bin/env would be more compliant. But not for now. This makes it compatible with the std-linux environment - So now we can even have Clang in /usr/bin and /usr/local/bin and still get the right one. - Use less error suppression, but start fixing warning. Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
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.
|
|
|