2015-01-11 21:53:19 +01:00
|
|
|
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)**.
|
2015-01-11 21:53:19 +01:00
|
|
|
|
|
|
|
Compiling EncFS
|
|
|
|
===============
|
|
|
|
|
2015-06-14 07:47:09 +02:00
|
|
|
EncFS uses the CMake toolchain to create makefiles.
|
2015-01-11 21:53:19 +01:00
|
|
|
|
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:
|
2015-01-11 21:53:19 +01:00
|
|
|
|
2015-06-14 07:47:09 +02:00
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake ..
|
2015-01-11 21:53:19 +01:00
|
|
|
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:
|
2015-01-11 21:53:19 +01:00
|
|
|
|
2017-10-11 08:22:57 +02:00
|
|
|
make unittests
|
2017-07-30 20:52:19 +02:00
|
|
|
make test
|
2015-01-11 21:53:19 +01:00
|
|
|
|
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
|
|
|
|
|
2015-01-11 21:53:19 +01:00
|
|
|
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:
|
2015-01-11 21:53:19 +01:00
|
|
|
|
|
|
|
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
|
2015-01-11 21:53:19 +01:00
|
|
|
|
|
|
|
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
|