1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
This document describes how to configure and build erofs-utils from
source.
See the [README](../README) file in the top level directory about
the brief overview of erofs-utils.
## Dependencies & build
LZ4 1.9.3+ for LZ4(HC) enabled [^1].
[XZ Utils 5.3.2alpha+](https://tukaani.org/xz/xz-5.3.2alpha.tar.gz) for
LZMA enabled, [XZ Utils 5.4+](https://tukaani.org/xz/xz-5.4.1.tar.gz)
highly recommended.
libfuse 2.6+ for erofsfuse enabled.
[^1]: It's not recommended to use LZ4 versions under 1.9.3 since
unexpected crashes could make trouble to end users due to broken
LZ4_compress_destSize() (fixed in v1.9.2),
[LZ4_compress_HC_destSize()](https://github.com/lz4/lz4/commit/660d21272e4c8a0f49db5fc1e6853f08713dff82) or
[LZ4_decompress_safe_partial()](https://github.com/lz4/lz4/issues/783).
## How to build with LZ4
To build, the following commands can be used in order:
``` sh
$ ./autogen.sh
$ ./configure
$ make
```
`mkfs.erofs`, `dump.erofs` and `fsck.erofs` binaries will be
generated under the corresponding folders.
## How to build with liblzma
In order to enable LZMA support, build with the following commands:
``` sh
$ ./configure --enable-lzma
$ make
```
Additionally, you could specify liblzma target paths with
`--with-liblzma-incdir` and `--with-liblzma-libdir` manually.
## How to build erofsfuse
It's disabled by default as an experimental feature for now due
to the extra libfuse dependency, to enable and build it manually:
``` sh
$ ./configure --enable-fuse
$ make
```
`erofsfuse` binary will be generated under `fuse` folder.
## How to install erofs-utils manually
Use the following command to install erofs-utils binaries:
``` sh
# make install
```
By default, `make install` will install all the files in
`/usr/local/bin`, `/usr/local/lib` etc. You can specify an
installation prefix other than `/usr/local` using `--prefix`,
for instance `--prefix=$HOME`.
|