diff options
Diffstat (limited to 'INSTALL')
-rw-r--r-- | INSTALL | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL new file mode 100644 index 00000000..85a839f1 --- /dev/null +++ b/INSTALL @@ -0,0 +1,79 @@ +Installation instructions +========================= + +The Btrfs utility programs require the following libraries/tools to build: + +- libuuid - provided by util-linux, e2fsprogs/e2fslibs or libuuid +- libblkid - block device id library +- liblzo2 - LZO data compression library +- zlib - ZLIB data compression library + +For the btrfs-convert utility: + +- e2fsprogs - ext2/ext3/ext4 file system libraries, or called e2fslibs + +Generating documentation: + +- asciidoc - text document format tool +- xmlto - text document format tool + +XATTR library should be provided by the standard C library or by + +- libattr - extended attribute 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 . + + +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 + +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 + +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. + + $ make EXTRA_CFLAGS=-ggdb3 + +The build utilizes autotools, dependencies for generating the configure +scripts are: + +* autconf, autoheader +* automake, aclocal +* pkg-config + + +Staticly 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 static binaries have the '.static' suffix, the intermediate object +files do not conflict with the normal (dynamic) build. + + +References: +* https://btrfs.wiki.kernel.org |