Skip Navigation Links | |
Exit Print View | |
Introduction to the Oracle Solaris 11 Developer Environment Oracle Solaris 11.1 Information Library |
Installation and Configuration
Introduction to Boot Environments
Tools for Web Server Development
Isolating Your Development Work
Building Applications in the Oracle Solaris OS
Oracle Solaris Developer Tools
Using the Runtime Linker and Link Editor
Using the Oracle Solaris Studio Tools
Tools for Multithreaded Programming
Oracle Message Passing Toolkit
Packaging Applications for the Oracle Solaris OS
Writing Java Programs for the Oracle Solaris OS
This section provides information on Oracle Solaris facilities for developing applications, including packaging, compiling, debugging, and tuning applications.
The Oracle Solaris OS provides a link editor and runtime linker. The Linker and Libraries Guide covers the link editor ld(1), the runtime linker ld.so.1(1), the ELF object file format, and shared objects, which are sometimes referred to as shared libraries.
The manual is intended for a range of programmers who are interested in the Solaris linkers, from the beginner to the advanced user. Beginners learn the principal operations of the link editor and runtime linker. Intermediate programmers learn to create and use efficient custom libraries. Advanced programmers, such as language-tools developers, learn how to interpret and generate object files. A chapter on application binary interfaces describes how to manage the evolution of an interface that is provided by a dynamic object. Other chapters cover thread-local storage and mapfile directives.
The Modular Debugger mdb is an extensible, general purpose debugging tool for the Oracle Solaris OS. The Oracle Solaris Modular Debugger Guide describes how to use the mdb(1) command to debug complex software systems. The guide emphasizes the facilities that are available for debugging the Oracle Solaris kernel and associated device drivers and modules. The guide includes a complete reference for the mdb language syntax, debugger features, and the mdb module programming API.
The Oracle Solaris Studio software provides modules for creating, editing, building, debugging, and analyzing the performance of a C, C++, or Fortran application. Many Oracle Solaris Studio tools have both a GUI and command-line equivalent. Those tools with GUIs provide online help. For the command-line versions, use the associated man pages. If you start dbx from the command line, type commands at the (dbx) prompt to get a brief description of each dbx command.
Note - Oracle Solaris Studio IDE installs its own version of the NetBeans IDE. This NetBeans installation is not intended to be used independently of the Oracle Solaris Studio software, and you might experience errors if you use it separately. Install the NetBeans IDE separately if you want to use it outside of the Oracle Solaris Studio IDE.
The Oracle Solaris Studio software includes the following tools:
IDE – An integrated development environment that provides access to the Oracle Solaris Studio C, C++, and Fortran tools.
The IDE includes a NetBeans plugin that enables you to use the Oracle Solaris Dynamic Tracing facility (DTrace) from the IDE. DTrace enables you to explore the inner workings of the software programs running on your system. The DTrace GUI plugin enables you to use DTrace from the IDE by running D scripts in a window. The plugin includes several D scripts that can be easily extended and customized to suit your needs. See the NetBeans DTrace GUI Plugin for more information about the plugin.
The Oracle Solaris Studio IDE also includes the DLight tool, which offers a variety of instrumentation that takes advantage of the Oracle Solaris Dynamic Tracing (DTrace) debugging and performance analysis functionality.
C compiler – Includes a C compiler, incremental link editor, and lint program.
C++ compiler – Includes a full-featured C++ compiler and interval arithmetic library.
Fortran compiler – Includes a full-featured environment and libraries for both f95 and f77.
dbx Debugger – An interactive, source-level, command-line debugging tool.
dmake make tool – A command-line tool for building targets in distributed, parallel, or serial mode.
Math libraries – A floating-point environment that is supported by software and hardware on SPARC and x86 platforms that run the Oracle Solaris OS.
OpenMP – A portable, pragma-based parallel programming model for shared memory multiprocessor architectures, is natively accepted and compiled by all three Oracle Solaris Studio compilers.
Performance Analyzer – A GUI and command-line tool for collecting and analyzing performance data.
Thread Analyzer – A GUI and command-line tool for analyzing the execution of multithreaded programs and checking for a variety of multithreaded programming errors.
Oracle Performance Library – A library of Oracle-specific extensions and features for using optimized, high-speed mathematical subroutines for solving linear algebra and other numerically intensive problems.
Oracle Solaris Studio 12.3 is available as a package; see the Oracle Solaris Studio site for instructions on how to download and install the software on the Oracle Solaris 11 OS.
See Chapter 8, Compiling and Debugging, in Multithreaded Programming Guide section for information on how to set up a developer environment for developing multithreaded applications.
NetBeans IDE (Integrated Development Environment) provides tools to help you build cross-platform applications for the Oracle Solaris OS and other operating platforms. The NetBeans IDE is available from netbeans.org.
The NetBeans IDE contains the following features:
Java Desktop Applications – Create professional desktop applications using the NetBeans Java GUI Builder with Swing Application Framework and Beans Binding support. Build rich internet applications with JavaFX.
PHP Development – A fast and lightweight PHP IDE with code completion and quick fixes, integrated FTP and Xdebug, and support for popular Web Services.
Java EE and Web Applications – Build web applications using Ajax, JavaScript, and CSS. Support for frameworks including JSF, Struts, Spring and Hibernate. Full set of tools for EJB development.
Ruby and Ruby on Rails Development – Powerful Ruby editor with code completion and debugger, and full support for Ruby on Rails. Includes the JRuby runtime.
Visual Mobile Development – Create, test and debug GUI applications that run on mobile phones, set-top boxes, and PDAs.
C and C++ Development – Full-featured C/C++ editor, debugger, project templates, support for multiple project configurations, remote development, performance profiling, and packaging of completed projects.
Visit the netbeans.org web site for more information. New users might find the following pages particularly useful:
NetBeans Plugin Portal for plugin modules
NetBeans Wiki with community documentation, and answers to Frequently Asked Questions
The Oracle Message Passing Toolkit software is a set of development tools that you can use to develop parallel applications designed to run on distributed-memory systems.
It includes the following technologies:
Open Message Passing Interface (Open MPI) – an open source implementation of the Message Passing Interface (MPI) standard. Open MPI is fully compliant with the MPI 2 standard including complete MPI I/O implementation and one-sided communications between MPI processes.
Open Run-Time Environment (ORTE) – provides a basic set of parallel job management facilities, and includes plug-in modules to support the following technologies:
The Oracle Grid Engine, which allows parallel jobs to be launched and maximizes the utilization of shared resources.
The Portable Batch System (PBS), a job scheduler that allocates network resources to batch jobs on networked, multi-platform environments.
The Oracle Message Passing Toolkit software can be used with the Oracle Solaris Studio compilers for C, C++, and Fortran.
See the Oracle Message Passing Toolkit documentation set for complete information about using the ClusterTools software.
Software programs must be incorporated into a package to be installed in the Oracle Solaris OS. For the Oracle Solaris 11 release, applications can be packaged using the Image Packaging System (IPS). With IPS, users can also download additional software packages, including developer tools. IPS accesses software packages from networked repositories and then installs them on your system. See the Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.1 and Adding and Updating Oracle Solaris 11.1 Software Packages for more information about packaging with IPS for the Oracle Solaris 11 release.
Oracle Solaris Dynamic Tracing (DTrace) is a comprehensive dynamic tracing framework for the Oracle Solaris OS. The DTrace facility provides a powerful infrastructure to enable administrators, developers, and service personnel to concisely answer arbitrary questions about the behavior of the operating system and user programs. DTrace can help developers identify performance issues and bugs in applications. The Oracle Solaris 11.1 Dynamic Tracing Guide describes in depth how to use DTrace to observe, debug, and tune system behavior. This guide also includes a complete reference for bundled DTrace observability tools and the D programming language.
The Java software is optimized to deliver superior performance to server-side and client-side Java technology applications in an enterprise environment. The http://www.oracle.com/technetwork/java/index.html web site provides complete documentation for the Java programming language. See also the Java Platform, Standard Edition (Java SE) documentation and the New to Java Programming Center to start learning about Java programming.
Java tutorials can be found at the following links:
If you have written a Java application for the Oracle Solaris 11 OS, you will need to build your application as a package so that the application can published to a repository and is available for download. There are various considerations to be aware of during the process of designing, creating, and publishing a package. For example, you should specify the Java Runtime dependency in your package manifest as follows:
depend type=require fmri=runtime/java
See Chapter 2, Packaging Software With IPS, in Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.1 and Chapter 4, Specifying Package Dependencies, in Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.1 for detailed information.
For information on compatibility between Java 6 and Java 7, see the Java SE 7 and JDK 7 Compatibility page.
In the Oracle Solaris 11.1 release, Java 6 and Java 7 are available as packages in the repository.
Java 6 is available as – developer/java/jdk-6
Java 7 is available as – developer/java/jdk-7
The default version of Java is JDK 7.
You can choose to set the Java version on your system to JDK 6 by using the pkg command as follows:
# pkg set-mediator -V 1.6 java
Use the following command to set the Java version back to JDK 7.
# pkg set-mediator -V 1.7 java
After you have completed the development of your application, the next steps would be to package, publish, and distribute your application. See the Copying and Creating Oracle Solaris 11.1 Package Repositories to get started on the process of copying and creating your repository and publishing your packages to the repository.