- libblkid - block device id library
- liblzo2 - LZO data compression library
- zlib - ZLIB data compression library
+- libzstd - ZSTD data compression library version >= 1.0.0
For the btrfs-convert utility:
- e2fsprogs - ext2/ext3/ext4 file system libraries, or called e2fslibs
+- libreiserfscore - reiserfs file system library
Generating documentation:
- asciidoc - text document format tool
- xmlto - text document format tool
-XATTR and ACL libraries should be provided by the standard C library or by
+XATTR library should be provided by the standard C library or by
- libattr - extended attribute library
-- libacl - access control list library
Please note that the package names may differ according to the distribution.
See https://btrfs.wiki.kernel.org/index.php/Btrfs_source_repositories#Dependencies .
-To build from git sources you need to generate the confiture script using the
-autools:
- $ ./autogen.sh
+Building from sources
+---------------------
+
+To build from git sources you need to generate the configure script using the
+autotools:
+
+ $ ./autogen.sh
To build from the released tarballs:
- $ ./configure
- $ make
- $ make install
+ $ ./configure
+ $ make
+ $ make install
You may disable building some parts like documentation, btrfs-convert or
backtrace support. See ./configure --help for more.
Specific CFLAGS or LDFLAGS should be set like
- $ CFLAGS=... LDFLAGS=... ./configure --prefix=/usr
+ $ CFLAGS=... LDFLAGS=... ./configure --prefix=/usr
+
+and not as arguments to make. You can specify additional flags to build via
+variables EXTRA_CFLAGS and EXTRA_LDFLAGS that get appended to the predefined
+values of the respective variables. There are further build tuning options
+documented in the Makefile.
+
+ $ make EXTRA_CFLAGS=-ggdb3
+
+The build utilizes autotools, dependencies for generating the configure
+scripts are:
+
+* autconf, autoheader
+* automake, aclocal
+* pkg-config
+
+
+Statically built binaries
+-------------------------
+
+The makefiles are ready to let you build static binaries of the utilities. This
+may be handy in rescue environments. Your system has to provide static version
+of the libraries.
+
+ $ make static
+ $ make btrfs.static
+ $ make btrfs-convert.static
+
+The resulting binaries have the '.static' suffix, the intermediate object
+files do not conflict with the normal (dynamic) build.
-and not as arguments to make.
References:
* https://btrfs.wiki.kernel.org