This delivery of SSC buildable source for OpenSolaris consists of a single archive:
Building SSC is similar to building the SFW and Operating System/Networking (ON) consolidations from source. If you are not familiar with building SFW or ON from opensolaris.org, please read the build instructions for ON and SFW and the detailed documentation before starting your build. You will also need the following shared build/install-time tools:
Like SFW, SSC does not use BFU or BFU archives. There are no closed binaries; the entire consolidation is Open Source.
Build the SSC consolidation on any OpenSolaris distribution compatible with the Solaris Express release two builds older than the SSC sources. Consult your vendor's documentation for more information about compatibility with Solaris Express. For example, to build SSC sources for build 36, your distribution must be compatible with Solaris Express build 34 or later.
You must also have installed the full set of SSC packages that are less than two builds old. This requirement exists because of the way some components reference binaries and headers during the build. Ocaml and emacs are the most noticeable, but other components may also have this requirement. If you are building only a subset of SSC components, it may be possible to skip installing the entire SSC. However, this is not recommended.
The release notes will always contain information about new or additional build environment requirements that may arise from time to time.
SSC requires the same compilers and support tools as SFW. Be sure you have installed a recent SUNWonbld package. Note that, like SFW, SSC does not contain these build tools, so you must install them in advance rather than relying on nightly's 't' option. In general, your build tools must be no more than 2 builds old. You can obtain the latest SUNWonbld package from the ON download site. The required Studio 10 compilers can be obtained from the Tools community. You must also have the standard Solaris gcc (from Nevada build 22 or later) installed. Note that compilers other than these specific versions have not been tested and may fail to build SSC correctly.
You must install the SUNWTclS and SUNWTkS source packages from a recent Solaris Express distribution. These are required in order to build tclx and expect.
The buildable source may contain source for high key-strength crypto. Please note that certain countries restrict the redistribution of high key-strength crypto. If you live in one of these countries, it is your responsibility to ensure that you are complying with your country's laws in this area.
None.
General questions on the SSC consolidation should be directed to the discussion list at companion-discuss@opensolaris.org. Please note that the mailing lists are configured to only allow posts from list subscribers or via the web forum interface. To subscribe, see the Companion project home.
If you wish, you can obtain the most recent source via Subversion rather than using the snapshot tarball. You will need to have a recent version (1.3.0 is best) of subversion on your system. See the DSCM evaluation page for binary Subversion packages for Solaris. Your distribution may already include Subversion; check your vendor's documentation. Once you have installed Subversion on your system, you can check out the SSC consolidation from XXX (need URL); for example, if you wish to use /export/companion as your workspace, you could do:
$ cd /exportXXX anonymous access via svn/svn+ssh? XXX opensolaris.org svn? XXX need more XXXs here for all the stuff we're missing
$ /opt/dscm/bin/svn co http://66.193.208.83/companion (XXX URL)
Once you have downloaded the SSC source, follow these steps to build it. Suppose you are using /export/companion as your workspace.
$ /usr/sfw/bin/gcc --version
gcc (GCC) 3.4.3 (csl-sol210-3_4-20050802)
$ /opt/SUNWspro/bin/cc -VCorrect output is architecture-dependent:
cc: Sun C 5.7 Patch 117836-03 2005/05/11 (sparc)NOTE: BOTH COMPILERS are REQUIRED and must be at the correct revisions!
cc: Sun C 5.7 Patch 117837-04 2005/05/11 (x86)
# cd /path/to/Solaris_11/Product
# pkgadd -d . SUNWTclS SUNWTkS
$ bzcat ssc-src-DATE.tar.bz2 | tar xf -The sources will unpack into "usr/src." Note that SSC does not require any closed binaries. You can use any convenient location instead of /export/companion, but these instructions will assume you've unpacked the source there.
# /opt/onbld/bin/nightly ./ssc-opensolaris.sh &and find something else to work on for a few hours. You can monitor the build's progress using ptree(1). nightly(1) will send mail to $MAILTO when it has finished.
The results mail from nightly(1) will have an overview of the build results. A copy of the mail text and a more detailed log file will be available in the workspace (/export/companion/log/log.mmdd). Pieces of the detailed log are also available under usr/src. For example, usr/src/install-i386.out will have the log from the x86 "make install" part of the build.
By default nightly(1) will do a "clobber" build, which includes a "make clobber" and blowing away any files that earlier builds installed into $ROOT (/export/companion/proto/root_PLATFORM). To bypass these steps, do an incremental build with "nightly -i ./ssc-opensolaris.sh &".
# cd /export/companionNext, you must create and partially populate the proto area:
# bldenv ./ssc-opensolaris.sh
[status information from bldenv]
# cd $SRCFinally, cd into the directory containing the component you wish to build, and run make:
# make rootdirs
# make tools
# make headers
# make -f Makefile.sfwNote that all sub-makefiles are called Makefile.sfw.
The packages and other results from a nightly build will be found in the /export/companion directory. Along with the log directory discussed above, you will find the proto and packages directories. The proto directory contains the files produced by the builds. For example, on a SPARC machine, within proto you will find the root_sparc directory, and within that, the opt/sfw directory containing the bin, lib and other directories created during the nightly build. In the packages directory, you will find a sparc/nightly-nd directory containing packages like SFWaalib and SFWaalibS. These directories can be used with pkgadd to install programs in the actual /opt/sfw directory. The S on the end of a package name indicates that this contains the source for that package and when installed goes in the /opt/sfw/src location.
If you wish to create an individual package, you can go into the pkgdefs directory in usr/src and change directory to the appropriate package. For example, you might run
# cd usr/src/pkgdefsThis will create the installable SFWaalib package in the packages/sparc/nighly-nd directory.
# cd SFWaalib
# make clobber
# make all install