netatalk.io

Netatalk Installation Quick Start

This guide covers installing Netatalk from source on UNIX-like operating systems.

Netatalk uses the Meson build system with Ninja as the backend.

Meson only supports out-of-tree builds, and must be passed a directory to put built and generated sources into. We’ll call that directory “build” here. It’s recommended to create a separate build directory for each configuration you might want to use.

Get the source code

To build from a release tarball, download and unpack the tarball.

tar xjf netatalk-*.tar.xz                               # unpack the sources
cd netatalk-*                                           # change to the toplevel directory

To build from the Netatalk GitHub repo, make sure you have Git installed, then clone the source tree.

git clone https://github.com/netatalk/netatalk.git      # clone the repository
cd netatalk                                             # change to the repo directory

External software dependencies

Install software dependencies using your operating system’s package manager.

Required

Package Details
Berkeley DB v4.6.0 or later (often packaged as bdb or sometimes db)
iniparser v3.1 or later
libevent v2.0 or later
libgcrypt v1.2.3 or later

Required to Build

Package Details
meson v0.61.2 or later
ninja Often packaged as ninja-build

Required for Spotlight Support

Package Details
D-Bus Also used by avahi and afpstats
talloc
tracker OR localsearch v0.12 or later
bison
flex

Optional

Package Details
avahi OR mDNSresponder For Zeroconf support
cmark OR cmark-gfm For generating documentation
cracklib and cracklib dictionary For password strength check in afppasswd
GLib 2 and GIO For afpstats support
Kerberos V For krbV UAM support
libacl For ACL support
libldap For LDAP support
libpam For PAM support
libtirpc OR libquota For Quota support
Perl For admin scripts
po4a For localization of documentation
tcpwrap For TCP wrapper support
UnicodeData.txt For regenerating Unicode lookup tables

Build the software

Use the meson command to compile and install Netatalk.

meson setup build                                       # configure the build
meson compile -C build                                  # build Netatalk

# Become root and install

sudo meson install -C build                             # install Netatalk

To uninstall Netatalk:

sudo ninja -C build uninstall                           # uninstall Netatalk

To test (requires the -Dwith-tests=true flag at configure time):

cd build && meson test

Configuration flags

When using Meson, to review the options which Meson chose, run:

meson configure

With additional arguments the meson setup build command can be used to configure Netatalk according to user preference. All generic options passed to this command take the form -Doption=value.

For example, to install Netatalk in a specific location:

meson setup build -Dprefix=/tmp/install

By default meson enables all Netatalk features if their dependencies are available. However, many features can be enabled or disabled at configure time.

If meson cannot find the some required dependencies at configure time then the user can also specify the path a library if it is installed in an unconventional location.

Please see meson_options.txt for full details of all Netatalk-specific options, and the Meson documentation for details of generic Meson options.

See also

The Netatalk manual has further resources to aid building and installation.