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 \ build-base \ cracklib \ cracklib-dev \ cracklib-words \ cups \ cups-dev \ curl \ db-dev \ gcc \ krb5-dev \ libgcrypt-dev \ libtirpc-dev \ libtool \ linux-pam-dev \ meson \ ninja \ openldap-dev \ openrc \ openssl-dev \ pkgconfig \ rpcsvc-proto-dev
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --enable-krbV-uam \ --enable-openrc \ --enable-pgp-uam \ --with-cracklib \ --with-libtirpc
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -Dwith-init-style=openrc \ -Dwith-quota=true \ -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/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
pacman -Sy --noconfirm \ autoconf \ automake \ cracklib \ gcc \ libtool \ make \ meson \ ninja \ pkgconfig \ rpcsvc-proto
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-install-privileged \ --enable-systemd \ --with-cracklib
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -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/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
apt-get update apt-get install --assume-yes --no-install-recommends autoconf \ automake \ cracklib-runtime \ docbook-xsl \ libacl1-dev \ libavahi-client-dev \ libcrack2-dev \ libcups2-dev \ libdb-dev \ libgcrypt-dev \ libkrb5-dev \ libldap2-dev \ libltdl-dev \ libpam0g-dev \ libssl-dev \ libtirpc-dev \ libtool \ libtool-bin \ libwolfssl-dev \ libwrap0-dev \ meson \ ninja-build \ quota \ tcpd \ xsltproc
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --enable-systemd \ --enable-krbV-uam \ --enable-pgp-uam \ --enable-quota \ --with-cracklib \ --with-libtirpc
Autotools - Build
make -j $(nproc) all
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -Dwith-init-hooks=false \ -Dwith-init-style=debian-systemd \ -Dwith-pkgconfdir-path=/etc/netatalk \ -Dwith-quota=true \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Tests
cd build && meson test
Meson - Install
meson install -C build
Meson - Start netatalk
/usr/local/sbin/afpd -V
Meson - Uninstall
ninja -C build uninstall
Install dependencies
dnf --setopt=install_weak_deps=False --assumeyes install \ automake \ avahi-devel \ chkconfig \ cracklib-devel \ cups-devel \ file \ krb5-devel \ libacl-devel \ libdb-devel \ libgcrypt-devel \ libtool \ meson \ ninja-build \ openldap-devel \ openssl-devel \ quota-devel \ systemd
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --enable-krbV-uam \ --enable-pgp-uam \ --enable-quota \ --enable-systemd \ --with-libtirpc \ --with-cracklib=/usr/share/cracklib
Autotools - Build
make -j $(nproc) all
Autotools - Run tests
make check
Autotools - Install
sudo make install
Autotools - Start netatalk
/usr/local/sbin/afpd -V
Autotools - Uninstall
sudo make uninstall
Meson - Configure
meson setup build \ -Dwith-init-hooks=false \ -Dwith-init-style=redhat-systemd \ -Dwith-quota=true \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Tests
cd build && meson test
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/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 \ cracklib-devel \ libacl-devel \ libavahi-devel \ libdb-4_8-devel \ libgcrypt-devel \ libmariadb-devel \ libopenssl-devel \ libtdb-devel \ openldap2-devel \ pam-devel \ systemtap-sdt-devel \ tcpd-devel
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-krbV-uam \ --enable-pgp-uam \ --enable-systemd \ --with-cracklib
Autotools - Build
make -j $(nproc)
Autotools - Run tests
make check
Autotools - Install
make install
Autotools - Start netatalk
/usr/local/sbin/afpd -V
Autotools - Uninstall
make uninstall
Meson - Configure
meson setup build \ -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/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 \ cracklib-runtime \ docbook-xsl \ libacl1-dev \ libavahi-client-dev \ libcrack2-dev \ libcups2-dev \ libdb-dev \ libgcrypt-dev \ libkrb5-dev \ libldap2-dev \ libltdl-dev \ libpam0g-dev \ libssl-dev \ libtirpc-dev \ libtool \ libtool-bin \ libwolfssl-dev \ libwrap0-dev \ meson \ ninja-build \ quota \ tcpd \ xsltproc
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --enable-krbV-uam \ --enable-pgp-uam \ --enable-quota \ --enable-systemd \ --with-cracklib \ --with-libtirpc
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/afpd -V sudo systemctl start afpd sleep 2 asip-status localhost
Autotools - Stop netatalk
sudo systemctl stop afpd
Autotools - Uninstall
sudo make uninstall
Meson - Configure
meson setup build \ -Dwith-manual=true \ -Dwith-init-hooks=false \ -Dwith-init-style=systemd \ -Dwith-quota=true \ -Dwith-tests=true
Meson - Build
meson compile -C build
Meson - Tests
cd build && meson test
Meson - Distribution tests
cd build && meson dist
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/usr/local/sbin/afpd -V sudo systemctl start afpd sleep 2 asip-status localhost
Meson - Stop netatalk
sudo systemctl stop afpd
Meson - Uninstall
sudo ninja -C build uninstall
Install dependencies
brew install automake berkeley-db libressl libtool meson
Autotools - Bootstrap
./bootstrap
Autotools - Configure
./configure \ --disable-ddp \ --enable-krbV-uam \ --enable-macos \ --enable-pgp-uam \ --with-bdb=/opt/homebrew/opt/berkeley-db \ --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/afpd -V sudo 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 - Tests
cd build && meson test
Meson - Install
sudo meson install -C build
Meson - Start netatalk
/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 \ db5 \ gmake \ libgcrypt \ libtool \ meson \ perl5 \ pkgconf \ py39-gdbm \ py39-tkinter
Configure and build
set -e echo "Building with Autotools" ./bootstrap ./configure \ --with-ssl-dir=/usr/local \ LDFLAGS=-L/usr/local/lib \ MAKE=gmake gmake -j2 gmake install /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/afpd -V ninja -C build uninstall
Install required packages
pkg install -y \ autoconf \ automake \ avahi \ db5 \ gmake \ libgcrypt \ libressl \ libtool \ meson \ openldap26-client-2.6.8 \ pkgconf
Configure and build
set -e echo "Building with Autotools" ./bootstrap ./configure \ --enable-krbV-uam \ --enable-pgp-uam \ --with-ldap=/usr/local \ --with-ssl-dir=/usr/local MAKE=gmake \ PKG_CONFIG_PATH=/usr/local/libdata/pkgconfig gmake -j $(nproc) gmake install /usr/local/sbin/afpd -V gmake uninstall echo "Building with Meson" meson setup build \ -Dpkg_config_path=/usr/local/libdata/pkgconfig meson compile -C build meson install -C build /usr/local/sbin/afpd -V ninja -C build uninstall
Install required packages
pkg_add \ autoconf \ automake \ avahi \ db5 \ gcc13 \ gmake \ libcups \ libgcrypt \ libressl \ libtool \ meson \ pkg-config
Configure and build
set -e echo "Building with Autotools" ./bootstrap ./configure \ MAKE=gmake \ PKG_CONFIG_PATH=/usr/pkg/lib/pkgconfig \ --enable-krbV-uam \ --enable-netbsd \ --enable-pgp-uam gmake -j $(nproc) gmake install /usr/local/sbin/afpd -V service afpd onestart sleep 2 asip-status localhost service afpd onestop echo "Building with Meson" meson setup build \ -Dpkg_config_path=/usr/pkg/lib/pkgconfig \ -Dwith-init-hooks=false \ -Dwith-init-style=netbsd \ -Dwith-tests=true meson compile -C build cd build && meson test cd .. meson install -C build /usr/local/sbin/afpd -V service afpd onestart sleep 2 asip-status localhost service afpd onestop ninja -C build uninstall
Install required packages
pkg_add -I \ autoconf-2.71 \ automake-1.16.5 \ avahi \ db-4.6.21p7v0 \ gcc-11.2.0p11 \ gmake \ libgcrypt \ libtool \ meson \ openldap-client-2.6.7v0 \ openpam \ pkgconf
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-ddp \ MAKE=gmake \ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig gmake -j $(nproc) gmake install /usr/local/sbin/afpd -V gmake uninstall echo "Building with Meson" meson setup build \ -Dpkg_config_path=/usr/local/lib/pkgconfig \ -Dwith-ddp=false meson compile -C build meson install -C build /usr/local/sbin/afpd -V 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 \ libgcrypt \ meson \ openldap
Configure and build
set -e export PATH=/opt/local/sbin:/opt/local/bin:/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:$PATH export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig echo "Building with Autotools" ./bootstrap ./configure \ --disable-install-privileged \ --enable-pgp-uam \ --with-bdb=/opt/local \ --without-ldap make -j $(nproc) make install /usr/local/sbin/afpd -V make uninstall echo "Building with Meson" meson setup build \ -Dpkg_config_path=/opt/local/lib/pkgconfig \ -Dwith-init-style=solaris \ -Dwith-ldap-path=/opt/local \ -Dwith-pgp-uam=true meson compile -C build meson install -C build /usr/local/sbin/afpd -V chmod 744 /etc/rc2.d/S90netatalk chmod 744 /etc/rc0.d/K04netatalk /etc/rc2.d/S90netatalk start sleep 2 /usr/local/bin/asip-status localhost /etc/rc2.d/S90netatalk stop ninja -C build uninstall
Install required packages
pkg update --accept pkg install \ autoconf \ automake \ gcc \ 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 \ MAKE=gmake \ --enable-cups=no gmake -j $(nproc) all gmake install /usr/local/sbin/afpd -V gmake uninstall echo "Building with Meson" meson setup build \ -Dpkg_config_path=/usr/lib/amd64/pkgconfig \ -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/afpd -V chmod 744 /etc/rc2.d/S90netatalk chmod 744 /etc/rc0.d/K04netatalk /etc/rc2.d/S90netatalk start sleep 2 /usr/local/bin/asip-status localhost /etc/rc2.d/S90netatalk stop ninja -C build uninstall