Menu

OpenIndianaBuild

Jon Trulson Ulrich Wilkens Matthew Trower
We are currently requesting that all contributions to the project are licenced under the MIT licence. Find out why?

WARNING: THIS GUIDE IS FOR ADVANCED USERS FOR USE IN BUILDING AND PORTING.

Note: This has not been tested with CDE versions 2.4.0a+ (autoconf) and may not work.

Note: This port has been tested on OpenSolaris snv_134 and OpenIndiana 151a8/Hipster.
It may also work on other Illumos derived systems.


Table of Contents

Build Prerequisites

Supported Platforms

This port currently supports SPARC and 64-bit x86 systems.

Install Dependencies

Note: These instructions are appropriate for a standard desktop installation of OI 1518a .
Additional packages are required for minimal or server installation envirionments.
Hipster is a moving target, and some packages may differ.

Add additional publisher:

pkg set-publisher -p http://pkg.openindiana.org/sfe/ sfe

Install the following packages:

  • //openindiana.org/developer/versioning/git
  • developer/gcc
  • developer/library/lint
  • system/header
  • developer/macro/gnu-m4
  • system/osnet/locale/de
  • system/osnet/locale/es
  • system/osnet/locale/fr
  • system/osnet/locale/it
  • x11/trusted/trusted-xorg
  • developer/build/autoconf
  • developer/build/automake-110
  • developer/build/libtool

Additional Preparations

Add /usr/gnu/bin to your PATH variable:

PATH=$PATH:/usr/gnu/bin

Add /opt/solarisstudio/bin to your PATH variable (optional):

PATH=$PATH:/opt/solarisstudio/bin

Run the following commands as root:

NOTE: For CDE versions 2.3 or later, it is no longer necessary to add your hostname to /etc/hosts

Add your hostname to the localhost line in /etc/hosts (for CDE versions less than 2.3)

Create symlinks:

ln -s /usr/gnu/bin/gcc /usr/gnu/bin/cc           (if using GCC)
ln -s /opt/solarisstudio12.3 /opt/solarisstudio  (if using Sun/Solaris Studio)
ln -s /usr/bin/automake-1.10 /usr/bin/automake
ln -s /usr/bin/aclocal-1.10 /usr/bin/aclocal

Configure runtime linking environment:

crle -u -l /usr/gnu/lib   (if using GCC)
crle -u -l /usr/X11/lib

change a line in /etc/default/init to:

LANG=C

Reboot the system

Installation of Motif

OpenSolaris/OpenIndiana systems ship with a historical version of motif, which is unsuitable for building CDE.
Motif must be built from source, and should be installed in /usr/X11.

  • Download the latest source package from sourceforge (motif-2.3.8.src.tgz).
  • unpack sources
    cd motif-2.3.8
    ./autogen.sh --prefix=/usr/X11
    make
    pfexec make install
    


Compiling

Clone the repository or download the source

Use the git clone command here:

On most platform you can use HTTPS:

git clone https://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code

If that doesn't work (for instance some BSD distros) , use the native git protocol instead

git clone git://git.code.sf.net/p/cdesktopenv/code cdesktopenv-code

Or download the latest source release:

Note: The source archive will become out of date. When you want the latest code, clone the git repository.


Supported Compiler

Note: GCC 6+ builds are broken at the moment.
Either install GCC 4 or 5 (and put it first in your path), or use Solaris Studio.

The port supports either gcc or Solaris Studio compiler. gcc is the default and must be installed (see 1.2).
But it is also possible to install Solaris Studio and to activate it for CDE by adding the following line
to /path/to/cdesktopenv-code/cde/config/cf/host.def:

#define HasSunC YES


Build CDE

cd /path/to/cdesktopenv-code/cde
make World

The build will terminate with a successfully built message.

Install CDE

cd /path/to/cdesktopenv-code/cde/admin/IntegTools/dbTools
pfexec ./installCDE -s /path/to/cdesktopenv-code/cde


Start CDE

Disable gdm graphical login:

svcadm disable svc:/application/graphical-login/gdm

You can now start CDE login manager:

/usr/dt/bin/dtlogin -daemon

Alternatively, you can start an X session as a normal user:

startx /usr/dt/bin/Xsession


Building Old Releases

Some additional steps are required to build older releases of CDE.


CDE Versions Prior to 2.3

Hostname

Add your hostname to the localhost line in /etc/hosts.


The X11 library headers need to be symlinked into the build tree.

Be careful of capitalisation of 'x' and 'X' here.

(Replace /path/to/ with the path to the location of your source tree.)

cd /path/to/cdesktopenv-code/cde
mkdir -p imports/x11/include
cd imports/x11/include
ln -s /usr/include/X11 .
ln -s /usr/X11/include/Xm .


Known Issues

The screen freezes when a user clicks in an inactive window. It can be avoided by using
KEYBOARD_FOCUS_POINTER mode. This mode is default on Solaris based systems.

(Editor's note 7/3/18: Is this still a problem?)
(Editor's reply 10/29/18: This has never been a problem for me on OI Hipster or OpenSolaris.
I don't recall it being a problem for me back when I used OI legacy. There are some issues surrounding
focus modes on Sun systems, but this does not seem to be one of them. I think this is probably resolved...)

Something appears to be wrong with the default CDE focus settings on Solaris based systems. When logging in
with a new user for the first time, it behaves as a strange mix of 'Point In Window' and 'Click In Window'. If this
happens to you, you need to toggle and apply the Window Behavior setting (found in Style Manager -> Window).
You can toggle it back afterward, if you like.



Related

Wiki: SupportedPlatforms

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.