Specifications

Red Hat Enterprise Linux to Oracle Solaris Porting Guide
6
RHEL conforms to the Linux Standard Base 4.0 (LSB 4.0) specification. The LSB is based on the
POSIX specification, the SUS, and several other open standards, but it extends them in certain areas.
Oracle Solaris supports IEEE Std 1003.1 and IEEE Std 1003.2, commonly known as POSIX.1 and
POSIX.2, respectively. Specifically, Oracle Solaris 11 conforms to POSIX.1-2004 (
POSIX.1-2001
update) and POSIX.1-2008 (POSIX.1-2004 update).
Since both the operating systems are POSIX-compliant (variants), there should be little difficulty
porting code from RHEL to Oracle Solaris, as long as specific operating extensions are not used. If
Linux-specific extensions are used, an equivalent Oracle Solaris extension will need to be used or the
extensions will need to be manually ported in order to achieve the desired result.
Tools and Development Environment
RHEL is a standards-based UNIX operating system that provides a development environment very
similar to Oracle Solaris 11. Most of the popular development and scripting tools used by Linux
developers are also available on Oracle Solaris 11. For example, the default shell for root on both the
operating systems is bash (version 4.1.x).
The k-shell (ksh) available on RHEL is ksh93, while the default shell for a new user on Oracle Solaris
11 is also ksh93. The availability of the same shell on both platforms makes it easier to migrate
scripts from RHEL to Oracle Solaris 11.
Oracle Solaris 11 ships with hundreds of standard commands, tools, utilities, and services. These
packages are built from the same open source code base that feeds Linux. The availability of these
packages along with the normal Oracle Solaris functionalities is a benefit to Oracle Solaris users. Users
can choose to use these Linux-like packages and, thereby, increase affinity with Linux. (Please note that
environment variables, such as PATH, might need to be altered in order to use similar tools on both
the platforms.)
Oracle Solaris 11 and RHEL are very similar in many ways; for example, they both have support for
Oracle Solaris Studio software and GNU tools. Both use X Windows as the GUI for their desktop
interface. It is worth noting that if the GNU family of compilers is used on RHEL and you would also
like to continue to use the GNU compiler for the SPARC platform, GNU compilers and tools are also
available on Oracle Solaris 11.
In short, since the shell and development tools are very similar on the two platforms, it is very easy to
move from RHEL to Oracle Solaris as an end user or a developer.
GNU Utilities and Popular Developer Tools
Given that Oracle Solaris 11 already provides a very significant RHEL baseline in terms of: commands,
tools, libraries, platform services, and software development environment, the task of porting an
application to Oracle Solaris 11 boils down to migrating the actual native code that needs to be
modified. If the same development tools and compilers are used on both sides, the tool-related
complexities during porting become minimal. Oracle has made Oracle Solaris Studio 12.x compilers
and tools available on both Oracle Solaris and RHEL platforms. It is also important to note that the