Platform Notes (Solaris/Illumos)
Contents
Port Category
The Solaris port is a Tier 1 Port, and Solaris 8 on 64-bit SPARC is the platform where primary development occurs.
Verified Releases
- 0.62.3 (Solaris 5.8 sparc64, Solaris 5.10 i86pc, Solaris 5.11 i86pc, Solaris 5.11 sparc64, OpenIndiana Hipster 5.11 amd64, 27 Mar 2025
- 0.62.2 (Solaris 5.8 sparc64, Solaris 5.10 i86pc, Solaris 5.11 i86pc, Solaris 5.11 sparc64, OpenIndiana Hipster 5.11 amd64, 23 Mar 2025)
- 0.62.1 (Solaris 5.10 i86pc, 17 Mar 2025)
cvs-current
(Solaris 5.8 sparc64, Solaris 11.4 sparc64 and i86pc)- 0.62.1 (Solaris 5.8 sparc64, Solaris 11.4 sparc64 and i86pc, OpenIndiana Hipster, 16 Mar 2025)
- 0.61.2 (Solaris 5.8 sparc64, Solaris 11.4 sparc64 and i86pc)
- 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 latest7_Recommended.zip
patch cluster. - The
mktemp
utility may lock up several times during theconfigure
phase. If this happens, you may simply kill the process withpkill -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:
- Open
/etc/group
asroot
in your favorite text editor - Find the line beginning with
freem
- Append your username to the end of that line
- Save the file
- Exit the editor
Now, you can 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
TBD
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 (does not apply to releases later than 0.61.2):
$ ./configure --without-ncursesw
OpenIndiana
Binary Packages
On OpenIndiana, you can install a binary release:
$ sudo pkgadd -d CLDfreem-<version>-openindiana5.11-amd64.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
See instructions for Solaris 11, but with the exception that configure
must be run as follows:
$ ./configure MAKE=gmake
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 5.8 Generic_117350-39
- 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 11.4.0.15.0
- gcc v7.3.0
- autoconf 2.69
- automake 1.15
- Oracle Developer Studio 12.6 (SunCC compiler)
x86 VM
- Solaris 11.4 11.4.0.15.0
- gcc v7.3.0
- autoconf 2.69
- automake 1.15
OpenIndiana (Illumos)
- Proxmox VM
- OpenIndiana Hipster 5.11 illumos-053feb1540
- gcc 14.2.0
- autoconf 2.72
- automake 1.16.5
This port should theoretically run on any Solaris or Illumos machine running Solaris 7 or newer.
Required Kernel Tuning
Solaris 11
TBD
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