1 Installation instructions
2 =========================
4 The Btrfs utility programs require the following libraries/tools to build:
6 - libuuid - provided by util-linux, e2fsprogs/e2fslibs or libuuid
7 - libblkid - block device id library
8 - liblzo2 - LZO data compression library
9 - zlib - ZLIB data compression library
10 - libzstd - ZSTD data compression library version >= 1.0.0
12 For the btrfs-convert utility:
14 - e2fsprogs - ext2/ext3/ext4 file system libraries, or called e2fslibs
15 - libreiserfscore - reiserfs file system library version >= 3.6.27
17 Generating documentation:
19 - asciidoc - text document format tool
20 - xmlto - text document format tool
22 XATTR library should be provided by the standard C library or by
24 - libattr - extended attribute library
26 Please note that the package names may differ according to the distribution.
27 See https://btrfs.wiki.kernel.org/index.php/Btrfs_source_repositories#Dependencies .
33 To build from git sources you need to generate the configure script using the
38 To build from the released tarballs:
44 To install the libbtrfsutil Python bindings:
48 You may disable building some parts like documentation, btrfs-convert or
49 backtrace support. See ./configure --help for more.
51 Specific CFLAGS or LDFLAGS should be set like
53 $ CFLAGS=... LDFLAGS=... ./configure --prefix=/usr
55 and not as arguments to make. You can specify additional flags to build via
56 variables EXTRA_CFLAGS and EXTRA_LDFLAGS that get appended to the predefined
57 values of the respective variables. There are further build tuning options
58 documented in the Makefile.
60 $ make EXTRA_CFLAGS=-ggdb3
62 The build utilizes autotools, dependencies for generating the configure
70 Statically built binaries
71 -------------------------
73 The makefiles are ready to let you build static binaries of the utilities. This
74 may be handy in rescue environments. Your system has to provide static version
79 $ make btrfs-convert.static
81 The resulting binaries have the '.static' suffix, the intermediate object
82 files do not conflict with the normal (dynamic) build.
86 * https://btrfs.wiki.kernel.org