1 - Requirements
In option you may also have installed the following tools and libraries:
The consequences of building dar without these optional tools are the following:
|
2 - Compilation in briefOnce you have the minimum requirements, Dar has to be compiled from
source code in
the following way:
./configure [eventually with
some options] Important:
due to a bug in the autoconf/libtool softwares used to build the
configure script you must not have spaces in the name of the path where
are extracted dar' sources. You can install dar binary anywhere you
want, the problem does not concern dar itself but the ./configure
script used to build dar: To work properly it must not be ran from a
path which has a space in it.
Important
too: By default the configure script set optimization to -O2,
depending on the compiler this may lead to problems in the resulting
binary (or even in the compilation process), before reporting a bug try
first to compile with less optimization:
The configure script may receive several options, they are listed here. Note for packagers that the DESTDIR variable may be set at installation time to install dar in another directory. This makes the creation of dar binary packages very easy. Here is an example ./configure --prefix=/usr
[eventually
with some options]
make make DESTDIR=/some/where install-strip This will install dar in
/some/where/usr/{bin | lib | ...}
directories. You can build a package from files under /some/where and
install/remove the package at the root of your filesystem (thus here
files will go in /usr/{bin | lib | ... }).
3 - Options for the configure script |
Available options for the configure script |
|
Optimization option: |
|
--enable-mode | --enable-mode=32 or
--enable-mode=infinint if
set,
replace 64 bits integers used by default by 32 bits integers or
"infinint" integers (limitless integers). Before release 2.6.0 the
default integer used was infinint and this option was added for speed
optimization at the cost of some limitations (See
the limitations for more).
Since release 2.6.0, the default is 64 bits integers (limitations stay the same) instead of infinint. But if you hit the 64 bits integer limitations you can still use infinint which overcome this at the cost of slower performance and increase memory requirement. |
Deactivation options: |
|
--disable-largefile | Whatever your system is, dar
will not be able to handle file of size larger than 4GB |
--disable-ea-support |
Whatever your system is, dar
will not be able to save or restore Extended Attributes (see the Notes
paragraphs I and V) |
--disable-nodump-flag |
Whatever your system is, dar
will not be able to take care of the nodump-flag (thanks to the
--nodump option) |
--disable-dar-static |
dar_static
binary (statically linked version of dar) will not be built |
--disable-special-alloc |
dar uses a
special allocation scheme by default (gather the many small allocations
in big fewer ones), this improves dar's execution speed |
--disable-upx |
If upx is found in the PATH, binary
are upx compressed at installation step. This can be disabled by this
option, when upx is available and you don't want compressed binaries. |
--disable-gnugetopt |
on non GNU systems
(Solaris, etc.) configure looks for libgnugetopt to have the long
options support thanks to the gnu getopt_long() call, this can be
disabled. |
--disable-thread-safe |
libdar
may need POSIX mutex to be
thread safe. If you don't want libdar relaying on POSIX mutex even if they are
available, use this option. The resulting library may not be thread
safe. But it will always be thread safe if you use
--disable-special-alloc, and it will never be thread safe if
--enable-test-memory is used. |
--disable-libdl-linking |
Ignore any libdl library and
avoid linking with it |
--disable-libz-linking |
Disable linking to libz, thus
-zgzip:*
option (gzip compression) will not be available |
--disable-libbz2-linking |
Disable linking to libbz2, thus
-zbzip2:* option (libbz2 compression) will not be available |
--disable-liblzo2-linking |
Disable linking to liblzo2, thus
-zlzo:* option (lzo compression) will not be available |
--disable-libxz-linking |
Disable linking to liblzma5 this -zxz:* option (xz compression) will not be available |
--disable-libgcrypt-linking |
Disable
linking with libgcrypt library. Strong encryption will not be
available neither a hashing of generated slices. |
--disable-gpgme-linking |
Disable
linking with gpgme library. Asymetric strong encryption algorithms will not be available |
--disable-build-html |
Do not build API documentation
reference with Doxygen (when it is available) |
--disable-furtive-read |
Do not try to detect whether the
system does support furtive read mode. This will lead furtive read
mode to stay disabled in any case. |
--disable-fast-dir |
Disable optimization for large
directories, doing so has a little positive impact on memory
requirement but a huge drawback on execution time |
--disable-execinfo |
Disable reporting stack
information on self diagnostic bugs even |
--disable-threadar |
Avoid linking with libthreadar even if available, libdar will not create threads |
--disable-birthtime |
Disable the HFS+ Filesystem Specific Attribute support |
--disable-librsync-linking |
Disable linking with librsync, thus delta binary will not be available |
--disable-libcurl-linking |
Disable linking with libcurl, thus remote repository support using ftp or sftp will not be available |
Troubleshooting option: |
|
--enable-os-bits |
If set, dar
uses the given argument (32 or 64) to determine which integer type to
use. This much match your CPU register size. By default dar uses the
system <stdint.h> file to determine the correct integer type to
use |
Debugging options: |
|
--enable-examples |
If set,
example programs based on infinint will also be built |
--enable-debug |
If set, use debug compilation
option, and if possible statically link binaries |
--enable-pedantic |
If set,
transmits the -pedantic option to the compiler |
--enable-profiling |
Enable executable profiling |
--enable-debug-memory |
If set, logs all memory
allocations and releases to /tmp/dar_debug_mem_allocation.txt .
The
resulting executable is expected to be very slow |
4 - GIT |
5 - Related Softwares
|