Skip to content

Installing Netatalk on Solaris

Daniel Markstedt edited this page Nov 11, 2024 · 3 revisions

See Also

Solaris 11

Tested on Solaris 11.4.42

Below follows the build instructions for the legacy Autotools build system. In most cases, you want to follow the instructions in the links at the top of this page instead.

Prep work

The Solaris system will need to get the very latest package updates from Oracle in order to build contemporary Netatalk.

First, run a full system update.

pkg update --accept

If needed, manually install the latest SRU for Solaris 11.

You may need to configure mDNS in order for Zeroconf to work properly.

Install required packages

pkg install \
  autoconf \
  automake \
  bison \
  flex \
  gcc \
  libevent \
  libgcrypt \
  libtool \
  pkg-config \
  tracker

Build additional packages from source

At the time of writing, you need to build autoconf, automake, and talloc from source.

wget https://www.samba.org/ftp/talloc/talloc-2.4.1.tar.gz
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz
wget https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz
tar xvf talloc-2.4.1.tar.gz
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 ../talloc-2.4.1
CC=gcc ./configure --prefix=/usr/local
make
make install
ln -s /usr/local/lib/pkgconfig/talloc.pc /usr/lib/amd64/pkgconfig/talloc.pc
cd ..

Configure and build

./bootstrap
./configure \
  --enable-krbV-uam \
  --enable-pgp-uam \
  --with-init-style=solaris \
  --with-tracker-pkgconfig-version=2.0 \
  --without-afpstats \
  MAKE=gmake \
  PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig

If the output from configure looks up to standard, proceed with compiling and linking.

gmake -j $(nproc)

Install and launch

Once the build process has completed without error, install the software (as root).

gmake install

Manage the netatalk service with svcadm.

svcadm enable svc:/network/netatalk:default

Enjoy!

Meson build system

This applies only if you are using the Meson build system instead of GNU Autotools (Netatalk 3.2 or later):

The base image of Solaris 11.4 comes with Meson v0.59.2 which is too old for Netatalk. Uninstall the stock Meson and install the one distributed by Python pip instead.

# pkg uninstall meson
# pkg update --accept
# pip install meson

Configure

# PKG_CONFIG_PATH=/usr/lib/amd64/pkgconfig meson setup build \
  -Dwith-init-style=solaris \
  -Dwith-tracker-pkgconfig-version=2.0

Build and install

# ninja -C build
# ninja -C build install

Solaris 10

Tested on Solaris 10 (1/13)

Note that the last version known to work well on Solaris 10 is 3.1.8. You can get a pre-built package of this version from OpenCSW.

Below follows instructions for building the software from scratch, if you so prefer.

Prep work

Install the OpenCSW repository and package manager.

Add paths to development tool dirs to the PATH variable, e.g. by adding this line to .profile

PATH=$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin

Install netatalk package

To install the prebuilt binary package for netatalk, do:

pkgutil -y -i netatalk

Build from source

These instructions are for building netatalk from scratch.

Install required packages

pkgutil -y -i git libtool automake autoconf pkgconfig gcc5core berkeleydb48_devel libgcrypt_dev libevent_dev

Configure and build

./bootstrap
env PKG_CONFIG_PATH=/opt/csw/lib/pkgconfig ./configure \
	--with-init-style=solaris \
	--with-libgcrypt-dir=/opt/csw \
	--with-pam-confdir=/etc/pam.d \
	--with-bdb=/opt/csw/bdb48 \
	--with-mysql-config=no
make
make install

Starting and stopping

Start Netatalk.

svcadm enable svc:/network/netatalk:default

Stop Netatalk.

svcadm disable svc:/network/netatalk:default
Clone this wiki locally