Table of Contents
This appendix describes how to compile Netatalk from source for specific operating systems.
Please note that the steps below are automatically generated, and may not be optimized for your system.
Choose one of the build systems: Autotools or Meson. Test steps are optional.
Install dependencies
apk add \ acl-dev \ autoconf \ automake \ avahi-compat-libdns_sd \ avahi-dev \ bison \ build-base \ cracklib \ cracklib-dev \ cracklib-words \ curl \ db-dev \ dbus-dev \ dbus-glib-dev \ flex \ gcc \ krb5-dev \ libevent-dev \ libgcrypt-dev \ libtirpc-dev \ libtool \ libtracker \ linux-pam-dev \ mariadb-dev \ meson \ ninja \ openldap-dev \ openrc \ openssl-dev \ pkgconfig \ rpcsvc-proto-dev \ talloc-dev \ tracker \ tracker-dev \ tracker-miners
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --enable-krbV-uam \ --enable-pgp-uam \ --with-cracklib \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-init-style=openrc \ --with-tracker-pkgconfig-version=3.0
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-style=openrc \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
pacman -Sy --noconfirm \ autoconf \ automake \ cracklib \ gcc \ libtool \ make \ mariadb-clients \ meson \ ninja \ pkgconfig \ rpcsvc-proto
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-init-hooks \ --with-cracklib \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-init-style=systemd
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-hooks=false \ -Dwith-init-style=systemd \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
apt-get update apt-get install --assume-yes --no-install-recommends \ autoconf \ automake \ bison \ default-libmysqlclient-dev \ file \ flex \ gcc \ libacl1-dev \ libavahi-client-dev \ libcrack2-dev \ libdb-dev \ libdbus-1-dev \ libdbus-glib-1-dev \ libevent-dev \ libgcrypt-dev \ libglib2.0-dev \ libkrb5-dev \ libldap2-dev \ libltdl-dev \ libpam0g-dev \ libssl-dev \ libtalloc-dev \ libtirpc-dev \ libtool \ libtool-bin \ libtracker-sparql-3.0-dev \ libwolfssl-dev \ libwrap0-dev \ make \ meson \ ninja-build \ quota \ systemtap-sdt-dev \ tcpd \ tracker \ tracker-miner-fs
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-dependency-tracking \ --disable-init-hooks \ --enable-krbV-uam \ --enable-pgp-uam \ --enable-quota \ --with-cracklib \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-init-style=debian-systemd \ --with-tracker-pkgconfig-version=3.0
Autotools - Build
make -j $(nproc) all
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-hooks=false \ -Dwith-init-style=debian-systemd \ -Dwith-pkgconfdir-path=/etc/netatalk \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
dnf --setopt=install_weak_deps=False --assumeyes install \ automake \ avahi-devel \ bison \ chkconfig \ cracklib-devel \ dbus-devel \ dbus-glib-devel \ flex \ glib2-devel \ krb5-devel \ libacl-devel \ libdb-devel \ libgcrypt-devel \ libtalloc-devel \ libtool \ mariadb-connector-c-devel \ meson \ ninja-build \ openldap-devel \ openssl-devel \ pam-devel \ perl \ quota-devel \ systemd \ systemtap-sdt-devel \ tracker \ tracker-devel
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-init-hooks \ --enable-krbV-uam \ --enable-pgp-uam \ --enable-quota \ --with-cracklib \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-init-style=redhat-systemd \ --with-tracker-pkgconfig-version=3.0
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
sudo make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
sudo make uninstall
Meson - Configure
meson setup build \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-hooks=false \ -Dwith-init-style=redhat-systemd \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
sudo ninja -C build uninstall
Install dependencies
zypper in -y \ automake \ file \ gawk \ gcc \ libtool \ make \ meson \ ninja \ pkg-config \ systemd \ wget && zypper in -y \ bison \ cracklib-devel \ dbus-1-devel \ flex \ libacl-devel \ libavahi-devel \ libdb-4_8-devel \ libevent-devel \ libgcrypt-devel \ libmariadb-devel \ libopenssl-devel \ libtalloc-devel \ libtdb-devel \ libtracker-sparql-3_0-0 \ openldap2-devel \ pam-devel \ systemtap-sdt-devel \ tcpd-devel \ tracker
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-init-hooks \ --disable-krbV-uam \ --enable-pgp-uam \ --with-cracklib \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-init-style=suse-systemd \ --with-tracker-pkgconfig-version=3.0
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-hooks=false \ -Dwith-init-style=suse-systemd \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
sudo apt-get update sudo apt-get install --assume-yes --no-install-recommends autoconf \ automake \ bison \ cracklib-runtime \ docbook-xsl \ flex \ libacl1-dev \ libavahi-client-dev \ libcrack2-dev \ libdb-dev \ libdbus-1-dev \ libdbus-glib-1-dev \ libevent-dev \ libgcrypt-dev \ libglib2.0-dev \ libkrb5-dev \ libldap2-dev \ libmariadb-dev \ libpam0g-dev \ libssl-dev \ libtalloc-dev \ libtirpc-dev \ libtool \ libtool-bin \ libtracker-sparql-3.0-dev \ libwolfssl-dev \ libwrap0-dev \ meson \ ninja-build \ quota \ systemtap-sdt-dev \ tcpd \ tracker \ tracker-miner-fs \ xsltproc
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-init-hooks \ --enable-krbV-uam \ --enable-pgp-uam \ --enable-quota \ --with-cracklib \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-docbook=/usr/share/xml/docbook/stylesheet/docbook-xsl \ --with-init-style=debian-systemd \ --with-tracker-pkgconfig-version=3.0
Autotools - Generate manual pages
make html
Autotools - Build
make -j $(nproc) all
Autotools - Run tests
make check
Autotools - Run distribution tests
make distcheck
Autotools - Install
sudo make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sudo systemctl start netatalk sleep 2 asip-status localhost
Autotools - Stop netatalk
sudo systemctl stop netatalk
Autotools - Uninstall
sudo make uninstall
Meson - Configure
meson setup build \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-manual=true \ -Dwith-init-hooks=false \ -Dwith-init-style=debian-systemd \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run distribution tests
cd build && meson dist
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sudo systemctl start netatalk sleep 1 asip-status localhost
Meson - Stop netatalk
sudo systemctl stop netatalk
Meson - Uninstall
sudo ninja -C build uninstall
Install dependencies
brew install automake berkeley-db libressl libtool meson mysql talloc
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --enable-krbV-uam \ --enable-pgp-uam \ --with-bdb=/opt/homebrew/opt/berkeley-db \ --with-init-style=macos-launchd \ --with-ssl-dir=/opt/homebrew/opt/libressl
Autotools - Build
make -j $(nproc) all
Autotools - Run tests
make check
Autotools - Install
sudo make install
Autotools - Start netatalk
/usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sudo /usr/local/bin/netatalkd start && sleep 2 && asip-status localhost
Autotools - Stop netatalk
sudo netatalkd stop
Autotools - Uninstall
sudo make uninstall
Meson - Configure
meson setup build \ -Dwith-init-style=macos-launchd \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Run tests
cd build && meson test
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/opt/homebrew/sbin/netatalk -V /opt/homebrew/sbin/afpd -V sudo netatalkd start && sleep 2 && asip-status localhost
Meson - Stop netatalk
sudo netatalkd stop
Meson - Uninstall
sudo ninja -C build uninstall
Install required packages
pkg install -y \ autoconf \ automake \ avahi \ bison \ db5 \ gmake \ krb5-devel \ libevent \ libgcrypt \ libtool \ meson \ mysql80-client \ openldap26-client \ perl5 \ pkgconf \ py39-gdbm \ py39-sqlite3 \ py39-tkinter \ talloc \ tracker3
Configure and build
set -e echo "Building with Autotools" ./bootstrap ./configure \ --with-ssl-dir=/usr/local \ --with-tracker-pkgconfig-version=3.0 \ LDFLAGS=-L/usr/local/lib \ MAKE=gmake gmake -j2 gmake install /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V gmake uninstall echo "Building with Meson" meson setup build meson compile -C build meson install -C build /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V ninja -C build uninstall
Install required packages
pkg install -y \ autoconf \ automake \ avahi \ bison \ db5 \ flex \ gmake \ libevent \ libgcrypt \ libressl \ libtool \ meson \ mysql84-client \ openldap26-client-2.6.8 \ pkgconf \ talloc \ tracker3
Configure and build
set -e echo "Building with Autotools" ./bootstrap ./configure \ --enable-krbV-uam \ --enable-pgp-uam \ --with-init-style=freebsd \ --with-ldap=/usr/local \ --with-ssl-dir=/usr/local \ --with-tracker-pkgconfig-version=3.0 \ MAKE=gmake \ PKG_CONFIG_PATH=/usr/local/libdata/pkgconfig gmake -j $(nproc) gmake install /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V /usr/local/etc/rc.d/netatalk start sleep 2 /usr/local/bin/asip-status localhost /usr/local/etc/rc.d/netatalk stop gmake uninstall echo "Building with Meson" meson setup build \ -Dpkg_config_path=/usr/local/libdata/pkgconfig \ -Dwith-init-style=freebsd meson compile -C build meson install -C build /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V /usr/local/etc/rc.d/netatalk start sleep 2 /usr/local/bin/asip-status localhost /usr/local/etc/rc.d/netatalk stop /usr/local/etc/rc.d/netatalk disable ninja -C build uninstall
Install required packages
pkg_add \ autoconf \ automake \ avahi \ bison \ db5 \ dbus-glib \ flex \ gcc13 \ gmake \ gnome-tracker \ libevent \ libgcrypt \ libressl \ libtool \ meson \ mysql-client \ p5-Net-DBus \ perl \ pkg-config \ talloc
Configure and build
set -e echo "Building with Autotools" ./bootstrap ./configure \ MAKE=gmake \ --enable-krbV-uam \ --enable-pgp-uam \ --with-init-style=netbsd \ --with-tracker-pkgconfig-version=3.0 gmake -j $(nproc) gmake install /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V service netatalk onestart sleep 2 asip-status localhost service netatalk onestop gmake uninstall echo "Building with Meson" meson setup build \ -Dpkg_config_path=/usr/pkg/lib/pkgconfig \ -Dwith-dtrace=false \ -Dwith-init-style=netbsd \ -Dwith-tests=false meson compile -C build cd build && meson test cd .. meson install -C build /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V service netatalk onestart sleep 2 asip-status localhost service netatalk onestop ninja -C build uninstall
Install required packages
pkg_add -I \ autoconf-2.71 \ automake-1.16.5 \ avahi \ bison \ dbus-glib \ db-4.6.21p7v0 \ gcc-11.2.0p11 \ gmake \ libevent \ libgcrypt \ libtalloc \ libtool \ mariadb-client \ meson \ openldap-client-2.6.7v0 \ openpam \ pkgconf \ tracker3
Configure and build
set -e echo "Building with Autotools" export AUTOCONF_VERSION=2.71 export AUTOMAKE_VERSION=1.16 export CFLAGS=-I/usr/local/include export LDFLAGS=-L/usr/local/lib autoreconf -fi ./configure \ --disable-init-hooks \ --with-init-style=openbsd \ --with-tracker-pkgconfig-version=3.0 \ MAKE=gmake \ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gmake -j $(nproc) echo "Building with Meson" meson setup build \ -Dpkg_config_path=/usr/local/lib/pkgconfig \ -Dwith-init-style=openbsd meson compile -C build meson install -C build /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V rcctl -d start netatalk sleep 2 asip-status localhost rcctl -d stop netatalk rcctl -d disable netatalk ninja -C build uninstall
Install required packages
pkg install \ build-essential \ libtool \ pkg-config curl -O https://pkgsrc.smartos.org/packages/SmartOS/bootstrap/bootstrap-trunk-x86_64-20240116.tar.gz tar -zxpf bootstrap-trunk-x86_64-20240116.tar.gz -C / export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH pkgin -y install \ avahi \ dbus-glib \ gnome-tracker \ libevent \ libgcrypt \ meson \ mysql-client \ talloc
Configure and build
set -e export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH echo "Building with Autotools" export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig ./bootstrap ./configure \ --enable-pgp-uam \ --with-bdb=/opt/local \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-init-style=solaris \ --with-ldap=/opt/local \ --with-tracker-pkgconfig-version=3.0 make -j $(nproc) make install /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sleep 2 svcadm enable svc:/network/netatalk:default sleep 2 /usr/local/bin/asip-status localhost svcadm disable svc:/network/netatalk:default make uninstall echo "Building with Meson" meson setup build \ -Dpkg_config_path=/opt/local/lib/pkgconfig \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-style=solaris \ -Dwith-ldap-path=/opt/local \ -Dwith-pgp-uam=true meson compile -C build meson install -C build /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sleep 2 svcadm enable svc:/network/netatalk:default sleep 2 /usr/local/bin/asip-status localhost svcadm disable svc:/network/netatalk:default ninja -C build uninstall
Install required packages
pkg install \ autoconf \ automake \ bison \ flex \ gcc \ libevent \ libgcrypt \ libtool \ ninja \ pkg-config \ python/pip pip install meson wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz --no-check-certificate wget https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz --no-check-certificate tar xvf autoconf-2.71.tar.gz tar xvf automake-1.16.5.tar.gz cd autoconf-2.71 ./configure --prefix=/usr make make install cd ../automake-1.16.5 ./configure --prefix=/usr make make install cd ..
Configure and build
set -e echo "Building with Autotools" ./bootstrap ./configure \ --enable-krbV-uam \ --enable-pgp-uam \ --with-dbus-sysconf-dir=/usr/share/dbus-1/system.d \ --with-init-style=solaris \ --with-tracker-pkgconfig-version=2.0 \ --without-afpstats \ MAKE=gmake \ PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig gmake -j $(nproc) gmake install /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sleep 2 svcadm enable svc:/network/netatalk:default sleep 2 /usr/local/bin/asip-status localhost svcadm disable -s svc:/network/netatalk:default gmake uninstall echo "Building with Meson" meson setup build \ -Dpkg_config_path=/usr/lib/amd64/pkgconfig \ -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d \ -Dwith-init-style=solaris \ -Dwith-pgp-uam=true \ -Dwith-tests=true meson compile -C build cd build && meson test cd .. meson install -C build /usr/local/sbin/netatalk -V /usr/local/sbin/afpd -V sleep 2 svcadm enable svc:/network/netatalk:default sleep 2 /usr/local/bin/asip-status localhost svcadm disable svc:/network/netatalk:default ninja -C build uninstall