Sun[tm] Studio: dmake Readme
- About dmake
- New and Changed Features
- Software Corrections
- Problems and Workarounds
- Limitations and Incompatibilities
- Documentation Errors
This document contains information about the dmake command-line tool for the Sun[tm] Studio compilers and tools. This document describes the software corrections, known problems, limitations, and incompatibilities of this release.Product Documentation
- Release Notes for Solaris Platforms: Available on the developer portal at http://developers.sun.com/tools/cc/documentation/ss10_docs/release_notes.html. Information in the release notes updates and extends information in all readme files.
- Release Notes for Linux Platforms: Available on the developer portal at http://developers.sun.com/tools/cc/documentation/ss10_docs/Linux_release_notes.html. Information in the release notes updates and extends information in all readme files.
- Sun Studio Documentation: Product man pages, HTML versions of readmes, and manuals can be accessed from /installation_directory/docs/index.html. The default installation directory on Solaris platforms is /opt/SUNWspro. The default installation directory on Linux platforms is /opt/sun/sunstudio10.
- IDE Documentation: Online help for all components of the Sun Studio IDE can be accessed from the Help menu in the IDE.
- Developer Resources Portal: For technical articles, code samples, documentation, and a knowledge base, see the developers portal at http://developers.sun.com/prodtech/cc.
Note - If your Sun Studio compilers and tools have not been installed in the default /opt directory, ask your system administrator for the equivalent path on your system.
B. About dmake
This release of the dmake command-line tool is available on the following operating systems and platforms:
- Solaris[tm] Operating System (Solaris OS), versions 8, 9, and 10
- The following versions of the Linux Operating System:
- Sun[tm] Java Desktop System, Release 2
- SuSE Linux Enterprise Server 8
- RedHat Enterprise Linux 3
dmake is a command-line tool, compatible with make(1). dmake can build targets in grid, distributed, parallel, or serial mode. If you use the standard make(1) utility, the transition to dmake requires little if any alteration to your makefiles. dmake is a superset of the make utility. With nested makes, if a top-level makefile calls "make", you need to use $(MAKE). dmake parses the makefiles and determines which targets can be built concurrently and distributes the build of those targets over a number of hosts set by you.
For information about how to use dmake, see Distributed Make (dmake), available in the Sun Studio Collection on http://docs.sun.com.
C. New and Changed Features
This section describes the new and changed features for dmake.
The following new features were added in this release:
- UNIX 2003 compliance. dmake and the make utility in the Solaris 10 OS passed the UNIX 2003 conformance tests (XPG5).
- dmake now includes support for the Sun Grid Engine on the AMD64 architecture.
- System overloading control is now available on the AMD64 architecture.
- The DMAKE_OUTPUT_MODE environment variable gives you two format options for the log file, one of which serializes the output of parallel jobs, making the log file more readable.
The following new features were added in the previous release:
- dmake provides support for the Sun Grid Engine on all platforms.
- Performance, reliablity, and usability improvements in dmake on the Solaris OS.
The makefile parser is 10 times faster than the previous version, and 3 times faster than GNU make. Builds run faster and are more stable. The log file is also more readable.
- Linux dmake implementation
Full dmake functionality is implemented for Linux builds in serial, parallel, and distributed modes. Consequently, Solaris applications can be built on Linux without big changes in makefiles. One build can be distributed to both Linux and Solaris platforms.
D. Software Corrections
There is no new information at this time.
E. Problems and Workarounds
This section discusses known software problems and possible workarounds for those problems. For updates or patches, check the updated information at http://developers.sun.com/prodtech/cc/support_index.html.
If there are any problems with using dmake in distributed mode, verify the following:
- The $HOME environment variable is set to an accessible directory.
% ls -la $HOME
- The file $HOME/.dmakerc exists, is readable, and contains correct information.
% cat $HOME/.dmakerc
- All hosts mentioned in $HOME/.dmakerc file are alive by using the /usr/sbin/ping command to check each host.
% /usr/sbin/ping $HOST
where $HOST is the name of the system, which is listed as the host in $HOME/.dmakerc file.
- The path to the DMAKE binaries is correct by using the dmake, rxm, and rxs commands.
% which dmake
% which rxm
% which rxs
- The remote login (rsh) on each host works without a password, and each remote login takes an acceptable time (less than 2 seconds).
% time rsh $HOST uname -a
- The file /etc/opt/SPROdmake/dmake.conf exists on each host and contains the correct information.
% rsh $HOST cat /etc/opt/SPROdmake/dmake.conf
- The path to DMAKE binaries is correct for each host.
% rsh $HOST `which dmake`
% rsh $HOST `which rxm`
% rsh $HOST `which rxs`
- The build area is available from each host (rwx)
% cd $BUILD
% rm $HOST.check.tmp
% echo "Build area is available from host $HOST" > $HOST.check.tmp
% rsh $HOST cat $BUILD/$HOST.check.tmp
where $BUILD is the full path to the build area.
- That $HOME is available from each host:
% cd $HOME
% rm $HOST.check.tmp
% echo "HOME is available from host $HOST" > $HOST.check.tmp
% rsh $HOST cat $HOME/$HOST.check.tmp
F. Limitations and Incompatibilities
This section discusses limitations and incompatibilities with systems or other software.
For last-minute information, see the release notes for Solaris platforms at http://developers.sun.com/tools/cc/documentation/ss10_docs/release_notes.html and the release notes for Linux platforms at http://developers.sun.com/tools/cc/documentation/ss10_docs/Linux_release_notes.html
dmake has the following limitations:
You can use any machine as a build server as long as it meets the following requirements:
- From the dmake host (the machine you are using to start the build process) you must be able to use rsh without being prompted for the password to remotely execute commands on the build server.
- The bin directory in which the dmake software is installed must be accessible from the build server. By default, dmake assumes that the logical path to the dmake executables on the build server is the same as on the dmake host. You can override this assumption by specifying a path name as an attribute of the host entry in the runtime configuration file.
- The /etc/opt/SPROdmake/dmake.conf file exists on the host, is readable, and contains the correct information.
G. Documentation Errata
There is no new information at this time.
Copyright © 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.