1 To build and install rsync:
7 You may set the installation directory and other parameters by options
8 to ./configure. To see them, use:
12 Configure tries to figure out if the local system uses group "nobody" or
13 "nogroup" by looking in the /etc/group file. (This is only used for the
14 default group of an rsync daemon, which attempts to run with "nobody"
15 user and group permissions.) You can change the default user and group
16 for the daemon by editing the NOBODY_USER and NOBODY_GROUP defines in
17 config.h, or just override them in your /etc/rsyncd.conf file.
19 As of 2.4.7, rsync uses Eric Troan's popt option-parsing library. A
20 cut-down copy of a recent release is included in the rsync distribution,
21 and will be used if there is no popt library on your build host, or if
22 the --with-included-popt option is passed to ./configure.
24 If you configure using --enable-maintainer-mode, then rsync will try
25 to pop up an xterm on DISPLAY=:0 if it crashes. You might find this
26 useful, but it should be turned off for production builds.
28 If you want to automatically use a separate "build" directory based on
29 the current git branch name, start with a pristine git checkout and run
30 "mkdir auto-build-save" before you run the first ./configure command.
31 That will cause a fresh build dir to spring into existence along with a
32 special Makefile symlink that allows you to run "make" and "./configure"
33 from the source dir (the "build" dir gets auto switched based on branch).
34 This is helpful when using the branch-from-patch and patch-update scripts
35 to maintain the official rsync patches. If you ever need to build from
36 a "detached head" git position then you'll need to manually chdir into
37 the build dir to run make. I also like to create 2 more symlinks in the
38 sourc dir: ln -s build/rsync . ; ln -s build/testtmp .
43 Note that Makefile.in has a rule that uses a wildcard in a prerequisite. If
44 your make has a problem with this rule, you will see an error like this:
46 Don't know how to make ./*.c
48 You can change the "proto.h-tstamp" target in Makefile.in to list all the *.c
49 filenames explicitly in order to avoid this issue.
54 Under packaging you will find .spec files for several distributions.
55 The .spec file in packaging/lsb can be used for Linux systems that
56 adhere to the Linux Standards Base (e.g., RedHat and others).
61 The HP-UX 10.10 "bundled" C compiler seems not to be able to cope with
62 ANSI C. You may see this error message in config.log if ./configure
65 (Bundled) cc: "configure", line 2162: error 1705: Function prototypes are an ANSI feature.
67 Install gcc or HP's "ANSI/C Compiler".
72 Some versions of Mac OS X (Darwin) seem to have an IPv6 stack, but do
73 not completely implement the "New Sockets" API.
75 <http://www.ipv6.org/impl/mac.html> says that Apple started to support
76 IPv6 in 10.2 (Jaguar). If your build fails, try again after running
77 configure with --disable-ipv6.
82 IBM AIX has a largefile problem with mkstemp. See IBM PR-51921.
83 The workaround is to append the below to config.h
85 #undef HAVE_SECURE_MKSTEMP