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 (optional)
12 For the btrfs-convert utility:
14 - e2fsprogs - ext2/ext3/ext4 file system libraries, or called e2fslibs
16 Generating documentation:
18 - asciidoc - text document format tool
19 - xmlto - text document format tool
21 XATTR library should be provided by the standard C library or by
23 - libattr - extended attribute library
25 Please note that the package names may differ according to the distribution.
26 See https://btrfs.wiki.kernel.org/index.php/Btrfs_source_repositories#Dependencies .
32 To build from git sources you need to generate the configure script using the
37 To build from the released tarballs:
43 You may disable building some parts like documentation, btrfs-convert or
44 backtrace support. See ./configure --help for more.
46 Specific CFLAGS or LDFLAGS should be set like
48 $ CFLAGS=... LDFLAGS=... ./configure --prefix=/usr
50 and not as arguments to make. You can specify additional flags to build via
51 variables EXTRA_CFLAGS and EXTRA_LDFLAGS that get appended to the predefined
52 values of the respective variables. There are further build tuning options
53 documented in the Makefile.
55 $ make EXTRA_CFLAGS=-ggdb3
57 The build utilizes autotools, dependencies for generating the configure
65 Statically built binaries
66 -------------------------
68 The makefiles are ready to let you build static binaries of the utilities. This
69 may be handy in rescue environments. Your system has to provide static version
74 $ make btrfs-convert.static
76 The resulting binaries have the '.static' suffix, the intermediate object
77 files do not conflict with the normal (dynamic) build.
81 * https://btrfs.wiki.kernel.org