Skip to content

Installing Netatalk 3 on Solaris

Daniel Markstedt edited this page Apr 13, 2024 · 13 revisions

Solaris 11

Tested on Solaris 11.4.42

Prep work

Install the latest SRU for Solaris 11 to get as modern packages as possible.

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

Start Netatalk.

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