-
Notifications
You must be signed in to change notification settings - Fork 60
/
BUILDING
107 lines (71 loc) · 3.32 KB
/
BUILDING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Installing
----------
To build and install tarsnap, run:
./configure
make
make install
Tarsnap should build and run on most IEEE Std 1003.1 (POSIX) compliant
systems which
1. Includes the Software Development Utilities option,
2. Has OpenSSL available via -lcrypto and #include <openssl/foo>,
3. Has zlib available via -lz and #include <zlib.h>,
4. Provides /dev/urandom, and
5. (Linux only) has the <ext2fs/ext2_fs.h> header (which is *not* the same
as the <linux/ext2_fs.h> header file.
Building from git
-----------------
Normal users should only use the signed tarballs from https://tarsnap.com, but
for experimental development, use:
autoreconf -i
./configure
make
- In order to support the `AX_CFLAGS_WARN_ALL` autoconf directive,
you will need to install the autoconf archive. On Debian, use
the `autoconf-archive` package; on FreeBSD, use
`devel/autoconf-archive`.
- If you receive this message:
configure.ac:...: error: possibly undefined macro: AC_MSG_WARN
then you need `pkg-config`. On Debian, use the `pkg-config`
package; on FreeBSD, use `devel/pkgconf`.
Platform-specific notes
-----------------------
- On Debian, Ubuntu, and related Linux distributions, the minimal set of
dependencies is:
sudo apt-get install gcc libc6-dev make libssl-dev zlib1g-dev e2fslibs-dev
To enable all optional features, install:
sudo apt-get install bash-completion libacl1-dev libattr1-dev libbz2-dev liblzma-dev pkg-config
- On RedHat, CentOS, SuSE, Amazon Linux, and related Linux distributions:
sudo yum install gcc make glibc-devel openssl-devel zlib-devel e2fsprogs-devel
To enable all optional features, install:
sudo yum install bzip2-devel libacl-devel libattr-devel xz-devel pkgconf bash-completion
- on MacOS X: in addition to the normal build toolchain (probably installed via
XCode), you need the OpenSSL development library. This could be installed
manually, or via a package manager:
Homebrew:
brew install openssl
MacPorts:
sudo port install openssl
If you installed OpenSSL via homebrew, ./configure should find the right
directories. If it doesn't, or if you installed it another way, you might
need to specify the directory with:
./configure CPPFLAGS="-I/PATH_TO/openssl/include" LDFLAGS="-L/PATH_TO/opt/openssl/lib"
Alternatively, you may wish to add these lines to your $HOME/.profile:
export CPPFLAGS="-I/PATH_TO/openssl/include $CPPFLAGS"
export LDFLAGS="-I/PATH_TO/openssl/lib $LDFLAGS"
(And then open a new terminal window.)
Whichever method you choose, replace "/PATH_TO/" with the actual path to
your OpenSSL installation.
- on Solaris: there are no problems compiling with cc, c99, or gcc.
To compile with clang, please use:
./configure CC=clang CFLAGS="-U__EXTENSIONS__"
make
and ignore warning messages about _XOPEN_SOURCE=600.
Packaging notes
---------------
Optional shell completion scripts:
- `--with-bash-completion-dir[=DIR]`, with the DIR specified explicitly or
left blank. If `DIR` is left blank, it attempts to use `pkg-config` and
`bash-completion >= 2.0` to determine where to put the bash completion
scripts. If your system does not match those requirements, please specify
`DIR` explicitly.
- `--with-zsh-completion-dir=DIR`, with the DIR specified explicitly.