Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save aroraayush/41e2029a87224fd903af1abee69f24ed to your computer and use it in GitHub Desktop.
Save aroraayush/41e2029a87224fd903af1abee69f24ed to your computer and use it in GitHub Desktop.
Install / Compile and Build nfs-ganesha under Ubuntu-18.04/20.04

Orignal :

https://gist.github.com/cy-lee/fb8190303d0b1124d2d4e1c04741497e

Original authos's Reference:

https://www.techsutram.com/2017/07/practical-way-to-build-nfs-ganesh-from.html


NFS Ganesha Installtion for Ubuntu-18.04/20.04

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

Optional - Turn componenets ON/OFF | Enable/Disable Ganesha Components

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

Example - Options to enable NFS Ganesha Proxy

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)

Building NFS Ganesha with Confiurations

mkdir -p build
cd build
cmake ../src

Make

sudo  make install

OR

make
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment