https://gist.github.com/cy-lee/fb8190303d0b1124d2d4e1c04741497e
https://www.techsutram.com/2017/07/practical-way-to-build-nfs-ganesh-from.html
git clone https://github.com/nfs-ganesha/nfs-ganesha.git
cd nfs-ganesha
git submodule update --init --recursive
sudo apt-get install g++ libboost-dev cmake make git doxygen –y
sudo apt-get install build-essential libglu1-mesa-dev libc6-dev –y
sudo apt-get install libkrb5-dev libgss-dev liburcu-dev bison flex–y
sudo apt-get install libdbus-glib-1-dev libgirepository1.0-dev -y
sudo apt-get install libjemalloc-dev libnfsidmap-dev libwbclient-dev libntirpc-dev librados-dev -y
Depending on the components enabled/disabled, you might/ might not get errors while compiling in the final step below. Errors can be fixed with extra arguments are passed like cmake -DUSE_GSS= -DCMAKE_INSTALL_PREFIX=/opt/.. ../src
- In
nfs-ganesha > src > CMakeLists.txt
, near line 217 (for NFS Ganesha 3), update the following Ganesha options
option(USE_FSAL_PROXY "build PROXY FSAL shared library" ON)
goption(USE_FSAL_VFS "build VFS FSAL shared library" ON)
goption(USE_FSAL_LUSTRE "build LUSTRE FSAL shared library" OFF)
goption(USE_FSAL_CEPH "build CEPH FSAL shared library" OFF)
goption(USE_FSAL_GPFS "build GPFS FSAL" OFF)
goption(USE_FSAL_XFS "build XFS support in VFS FSAL" OFF)
goption(USE_FSAL_PANFS "build PanFS support in VFS FSAL" OFF)
goption(USE_FSAL_GLUSTER "build GLUSTER FSAL shared library" OFF)
goption(USE_FSAL_NULL "build NULL FSAL shared library" ON)
goption(USE_FSAL_RGW "build RGW FSAL shared library" OFF)
goption(USE_FSAL_MEM "build Memory FSAL shared library" OFF)
mkdir -p build
cd build
cmake ../src
sudo make install
OR
make