]>
Commit | Line | Data |
---|---|---|
fc49813f NS |
1 | This document describes how to configure and build the open source XFS |
2 | commands and utilites ("xfsprogs") from source, and how to install and | |
3 | run them. | |
4 | ||
93d9f139 NS |
5 | See the README file in the top level directory for details about how |
6 | to contribute to the XFS project. | |
7 | ||
8 | ||
9 | Linux Instructions | |
10 | ================== | |
11 | ||
fc49813f NS |
12 | 0. If you have the binary rpm, simply install it and skip to step 2 (below). |
13 | The rpm command to do this is: | |
f937adac NS |
14 | # rpm -Uvh xfsprogs-*.rpm |
15 | [and optionally, for the development libraries and headers] | |
16 | # rpm -Uvh xfsprogs-devel-*.rpm | |
fc49813f NS |
17 | |
18 | The Debian command to do this is: | |
fc49813f | 19 | # apt-get install xfsprogs |
f937adac NS |
20 | [and optionally, for the development libraries and headers] |
21 | # apt-get install xfslibs-dev | |
fc49813f NS |
22 | |
23 | 1. Configure, build and install the package | |
24 | ||
25 | The xfsprogs package uses autoconf/configure and expects a GNU build | |
26 | environment (your platform must at least have both autoconf and gmake). | |
27 | You will also need to have installed either the e2fsprogs-devel package | |
28 | (on an RPM based system) or the uuid-dev package (on a Debian system) | |
29 | as some of the commands make use of the UUID library provided by these. | |
30 | ||
10a41599 | 31 | To build the package and install it manually, use the following steps: |
fc49813f | 32 | |
f937adac NS |
33 | # make |
34 | # su root | |
35 | # make install | |
36 | [and optionally, for the development libraries and headers] | |
37 | # make install-dev | |
fc49813f NS |
38 | |
39 | Note that there are so many "install" variants out there that we | |
40 | wrote our own script (see "install-sh" in the top level directory). | |
41 | ||
42 | If you wish to turn off debugging asserts in the command build and | |
43 | turn on the optimizer then set the shell environment variables: | |
44 | ||
f937adac | 45 | OPTIMIZER=-O1 |
fc49813f NS |
46 | DEBUG=-DNDEBUG |
47 | ||
93d9f139 NS |
48 | before running make or Makepkgs. |
49 | ||
50 | ||
51 | Mac OS X Instructions | |
52 | ===================== | |
53 | ||
54 | 0. Note: since there is no XFS implementation on Mac OS X, you are | |
6f9377f0 | 55 | severely limited in what you can do. mkfs.xfs(8), xfs_db(8) and |
93d9f139 NS |
56 | xfs_repair(8) are the only functional tools on this platform, as |
57 | they do not interact with the XFS kernel code at all. Still, it | |
58 | can be useful to have access to these utilities from Mac OS X in | |
59 | a dual boot configuration, for example. | |
60 | ||
6f9377f0 JT |
61 | However, keep on mind that mkfs.xfs on Mac OS X has disabled |
62 | device access, although you can create a filesystem in a file. | |
63 | Also note that existing filesystem detection is disabled. | |
64 | ||
93d9f139 NS |
65 | 1. Configure, build and install the package |
66 | ||
67 | The xfsprogs package uses autoconf/configure and expects a GNU build | |
68 | environment (your platform must at least have both autoconf, make, | |
69 | and glibtool). | |
70 | ||
71 | You will also need to have built and installed the UUID library which | |
6f9377f0 JT |
72 | is provided by the e2fsprogs source package. (Or use Homebrew, Macports |
73 | or any other 3rd party package manager.) | |
93d9f139 NS |
74 | |
75 | Building libuuid: | |
76 | ||
77 | [download; unzip/untar e2fsprogs; cd e2fsprogs] | |
78 | $ ./configure --prefix=/usr --mandir=/usr/share/man | |
79 | $ make lib/ext2fs/ext2_types.h | |
80 | $ cd lib/uuid | |
81 | $ make | |
82 | $ su root | |
83 | # make install | |
84 | [verify that you now have a /usr/lib/libuuid.a] | |
85 | ||
86 | Building xfsprogs: | |
87 | ||
88 | [firstly set these environment variables to these values] | |
89 | TAR=/usr/bin/gnutar | |
90 | LIBTOOL=/usr/bin/glibtool | |
91 | INSTALL_GROUP=wheel | |
1d43056b JT |
92 | LOCAL_CONFIGURE_OPTIONS="\ |
93 | --enable-gettext=no\ | |
94 | --enable-blkid=no\ | |
95 | --enable-librt=no\ | |
96 | " | |
93d9f139 NS |
97 | |
98 | $ make | |
99 | $ su root | |
100 | # make install | |
101 | [and optionally, for the development libraries and headers] | |
102 | # make install-dev |