Platform Notes (Solaris/Illumos)

From FreeM Wiki
Jump to navigation Jump to search

Port Category

The Solaris port is a Tier 1 Port

Verified Releases

  • 0.59.0 (Solaris 10 sparc64, 4 Aug 2023)
  • 0.59.0 (Solaris 7 sparc32, 4 Aug 2023)
  • 0.59.0 (Solaris 11.4 i86pc, 4 Aug 2023)
  • 0.57.0 (Solaris 11.3 sparc64, 4 Aug 2023)

Build Notes

Solaris 7

  • If using the old sunfreeware.com GNU toolchain packages on Solaris 7, you will need the latest 7_Recommended.zip patch cluster.
  • The mktemp utility may lock up several times during the configure phase. If this happens, you may simply kill the process with pkill -9 mktemp. This does not appear to harm the build.

Solaris 8

Binary Packages

On Solaris 8, you can install a binary release:

$ sudo pkgadd -d CLDfreem-<version>-solaris5.8-sparcv9.pkg

Once this is done, add yourself to the freem group, and start the FreeM daemon as follows:

$ sudo /etc/init.d/freem start

Building From Source

You will need the latest 8_Recommended.zip patch cluster for Solaris, as well as:

  • gcc (3.4 or higher recommended)
  • autoconf
  • automake
  • libtool
  • texinfo
  • readline (recommended but not strictly required)

Solaris 9

TBD

Solaris 10

We build with the IPS packages for the GNU toolchain here.

Solaris 11

We build with the IPS packages for the GNU toolchain here. The Sun C compiler can also be used here (at least the version from Developer Studio 12.6).

Necessary Packages

$ sudo pkg install gcc automake autoconf gnu-make git readline libtool texinfo ncurses

Dealing with ncurses

You will need to tell the configure script not to bother with the wide-character ncurses library:

$ ./configure --without-ncursesw

Testing Details

We build and test the Solaris port of FreeM on the following systems:

Sun Ultra 10

  • Sun Ultra 10 with a 400MHz UltraSPARC-IIi CPU (64-bit)
  • 640MB RAM
  • Solaris 8
  • gcc v3.4.6
  • autoconf 2.69
  • automake 1.16.5

Sun SPARCserver 20

  • Sun SPARCserver 20 with dual 100MHz Ross HyperSPARC CPUs (32-bit)
  • 512MB RAM
  • Solaris 7 with the latest 7_Recommended.zip patch cluster applied (REQUIRED FOR SOLARIS 7)
  • gcc v3.4.6
  • autoconf 2.68
  • automake 1.11.1

SunFire T2000

  • Sun UltraSPARC T1 CPU (64-bit)
  • Solaris 10

Oracle SPARC T4-1

  • Oracle SPARC T4 CPU (64-bit)
  • Solaris 11.4
  • gcc v7.3.0
  • Oracle Developer Studio 12.6 (SunCC compiler)

x86 VM

  • ESXi Virtual Machine (amd64)
  • Solaris 11.4
  • gcc v7.3.0
  • autoconf 2.69
  • automake 1.15

OpenIndiana (Illumos)

  • Proxmox VM
  • OpenIndiana Hipster


This port should theoretically run on any Solaris or Illumos machine running Solaris 7 or newer.

Required Kernel Tuning

Solaris 8

Append the following to /etc/system and reboot:

set shmsys:shminfo_shmmax = 67108864
set shmsys:shminfo_shmmni = 0x1000
set shmsys:shminfo_shmseg = 0x100

Starting FreeM Daemon Automatically

These instructions apply only to source builds. The binary packages install the init script automatically.

  • Copy scripts/solaris-init/freem to /etc/init.d
  • Make a symbolic link from /etc/rc3.d/S20freem to /etc/init.d/freem
  • Run /etc/init.d/freem start