encfs/INSTALL.md

64 lines
2.0 KiB
Markdown
Raw Normal View History

This document provides generic information for compiling EncFS.
2018-05-16 08:38:08 +02:00
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.
2017-08-08 17:50:44 +02:00
Quickest way to build and test EncFS :
./build.sh
Or following are the detailed steps to build EncFS:
mkdir build
cd build
cmake ..
make
2020-03-03 22:48:28 +01:00
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
2017-08-08 04:49:38 +02:00
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:
2017-10-11 08:22:57 +02:00
make unittests
make test
2017-08-08 04:49:38 +02:00
Integration tests will take ~20 seconds to run and will mount an
2017-08-26 11:50:01 +02:00
encrypted filesystem and run tests on it:
*running integration tests from root (or with sudo) will run additional ones*
2017-08-08 04:49:38 +02:00
make integration
The compilation process creates two executables, encfs and encfsctl in
2017-08-08 17:50:44 +02:00
the encfs directory. You can install to in a system directory via:
make install
2017-08-08 17:50:44 +02:00
If the default path (`/usr/local`) is not where you want things
2015-06-16 06:00:45 +02:00
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:
2018-05-16 08:38:08 +02:00
* 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