blob: 0879612785d25214b7f82e2b3ff269e997103f42 [file] [log] [blame]
This document describes how to configure and build the open source XFS
commands and utilites ("xfsprogs") from source, and how to install and
run them.
See the README file in the top level directory for details about how
to contribute to the XFS project.
Linux Instructions
==================
0. If you have the binary rpm, simply install it and skip to step 2 (below).
The rpm command to do this is:
# rpm -Uvh xfsprogs-*.rpm
[and optionally, for the development libraries and headers]
# rpm -Uvh xfsprogs-devel-*.rpm
The Debian command to do this is:
# apt-get install xfsprogs
[and optionally, for the development libraries and headers]
# apt-get install xfslibs-dev
1. Configure, build and install the package
The xfsprogs package uses autoconf/configure and expects a GNU build
environment (your platform must at least have both autoconf and gmake).
You will also need to have installed either the e2fsprogs-devel package
(on an RPM based system) or the uuid-dev package (on a Debian system)
as some of the commands make use of the UUID library provided by these.
To build the package and install it manually, use the following steps:
# make
# su root
# make install
[and optionally, for the development libraries and headers]
# make install-dev
Note that there are so many "install" variants out there that we
wrote our own script (see "install-sh" in the top level directory).
If you wish to turn off debugging asserts in the command build and
turn on the optimizer then set the shell environment variables:
OPTIMIZER=-O1
DEBUG=-DNDEBUG
before running make or Makepkgs.
Mac OS X Instructions
=====================
0. Note: since there is no XFS implementation on Mac OS X, you are
severely limited in what you can do. mkfs.xfs(8), xfs_db(8) and
xfs_repair(8) are the only functional tools on this platform, as
they do not interact with the XFS kernel code at all. Still, it
can be useful to have access to these utilities from Mac OS X in
a dual boot configuration, for example.
However, keep on mind that mkfs.xfs on Mac OS X has disabled
device access, although you can create a filesystem in a file.
Also note that existing filesystem detection is disabled.
1. Configure, build and install the package
The xfsprogs package uses autoconf/configure and expects a GNU build
environment (your platform must at least have both autoconf, make,
and glibtool).
You will also need to have built and installed the UUID library which
is provided by the e2fsprogs source package. (Or use Homebrew, Macports
or any other 3rd party package manager.)
Building libuuid:
[download; unzip/untar e2fsprogs; cd e2fsprogs]
$ ./configure --prefix=/usr --mandir=/usr/share/man
$ make lib/ext2fs/ext2_types.h
$ cd lib/uuid
$ make
$ su root
# make install
[verify that you now have a /usr/lib/libuuid.a]
Building xfsprogs:
[firstly set these environment variables to these values]
TAR=/usr/bin/gnutar
LIBTOOL=/usr/bin/glibtool
INSTALL_GROUP=wheel
LOCAL_CONFIGURE_OPTIONS="\
--enable-gettext=no\
--enable-blkid=no\
--enable-librt=no\
"
$ make
$ su root
# make install
[and optionally, for the development libraries and headers]
# make install-dev
IRIX Instructions
=================
0. Note: building this package on IRIX is mainly useful for the
XFS developers who want to run purify on some of the tools.
Most tools are not functional due to incomplete support for
the syssgi and fcntl interfaces that XFS provides and which
these tools make extensive use of.
1. Configure, build and install the package
The xfsprogs package uses autoconf/configure and expects a GNU build
environment which can be obtained by installing a number of freeware
packages (gcc, autoconf, libtool, gmake).
Even though IRIX provides a set of UUID functions via libc, you
still need to have built and installed the UUID library which is
provided by the e2fsprogs source package. This is because some
difficult to resolve differences exist between the UUID functions
and data types, which makes co-existence of these more trouble
than its worth at the moment. Follow the instructions above for
building and installing libuuid.
Building xfsprogs:
[firstly set these environment variables to these values]
INSTALL_GROUP=sys
CC=/usr/freeware/bin/gcc
TAR=/usr/freeware/bin/tar
MAKE=/usr/freeware/bin/gmake
LIBTOOL=/usr/freeware/bin/libtool
MSGFMT=/usr/freeware/bin/msgfmt
MSGMERGE=/usr/freeware/bin/msgmerge
XGETTEXT=/usr/freeware/bin/xgettext
$ make
$ su root
# make install
[and optionally, for the development libraries and headers]
# make install-dev