encfs/INSTALL.md
2020-03-03 22:48:28 +01:00

64 lines
2.0 KiB
Markdown

This document provides generic information for compiling EncFS.
If you are looking for specific instructions for your operating system or distribution,
take a look at the **[wiki](https://github.com/vgough/encfs/wiki)**.
Compiling EncFS
===============
EncFS uses the CMake toolchain to create makefiles.
Quickest way to build and test EncFS :
./build.sh
Or following are the detailed steps to build EncFS:
mkdir build
cd build
cmake ..
make
If CMake can't find FUSE or OpenSSL, you can use the following options:
cmake .. -DFUSE_ROOT_DIR=/pathto/fuse -DOPENSSL_ROOT_DIR=/pathto/openssl
Optional, but strongly recommended, is running the unit and integration
tests to verify that the generated binaries work as expected. Unit
tests will run almost instantly:
make unittests
make test
Integration tests will take ~20 seconds to run and will mount an
encrypted filesystem and run tests on it:
*running integration tests from root (or with sudo) will run additional ones*
make integration
The compilation process creates two executables, encfs and encfsctl in
the encfs directory. You can install to in a system directory via:
make install
If the default path (`/usr/local`) is not where you want things
installed, then set the CMAKE_INSTALL_PREFIX option when running cmake. Eg:
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/local
Encfs and encfsctl can also be installed by hand. They need no special
permissions. You may also want the man pages encfs.1 and encfsctl.1.
Dependencies
============
EncFS depends on a number of libraries:
* fuse : the userspace filesystem layer
* openssl / libressl : used for cryptographic primitives
* tinyxml2 (embeded) : for reading and writing XML configuration files
* gettext : internationalization support
* libintl : internationalization support
* cmake : version 3.0.2 (Debian jessie version) or newer
* GNU make / ninja-build : to run the build for cmake