Mike Kupfer is off today, but build 18 is now available via SDLC.
Other download options will follow.  Here are the release notes:

                     OpenSolaris Buildable Source
                @(#)ReleaseNotes        1.13    2005/07/22 SMI


Note: if this is your first OpenSolaris installation, you must first
install Solaris Express - Community Release Build 16 or later before
installing OpenSolaris.  Either an initial install or an upgrade to
Build 16 will work, provided you use the Entire Distribution
metacluster.

This delivery of the Buildable Source consists of 6 pieces:

1. source tarball (opensolaris-src-DATE.tar.bz2)
2. encumbered binaries tarball (opensolaris-closed-bins-DATE.PLATFORM.tar.bz2)
3. compiler (Sun Studio 10 is the preferred compiler, and it is free
   for OpenSolaris community members.  You can also use gcc; more on
   that below.)
4. ON build tools package (SUNWonbld-DATE.PLATFORM.tar.bz2)
5. Additional build tools, at least for SPARC
   (opensolaris-build-extras-DATE.PLATFORM.tar.bz2)
6. Pre-built BFU archives (opensolaris-bfu-DATE.PLATFORM.tar.bz2)

If you just want to install the pre-built archives, you'll need the ON
build tools and the BFU archives.  The tar file will unpack the
archives into archives-DATE/PLATFORM/ (e.g.,
archives-20050612/i386/).  You should review Section A
(changes since the last delivery) and Section B (known issues) before
following the BFU instructions in the Developer's Reference 
(http://www.opensolaris.org/os/community/onnv/devref_toc/).

If you want to build from source, you will need the source, compiler,
ON tools, and "extras" tools.  The encumbered binaries tarball contains
complete binaries (libraries, kernel modules, commands) that are
compatible with the source.  These are binaries that cannot be built
using only the source tarball for one reason or another.  If you wish
to build the kernel (or some portion of it), or if you wish to build a
complete set of installable archives, you will want the encumbered
binaries.

For general questions on the buildable source, please ask on the
OpenSolaris Help discussion list (opensolaris-help <at> opensolaris
<dot> org).  For detailed comments about the code, please use
OpenSolaris Code discussion list.  Please note that the mailing lists
are configured to only allow posts via the web forum interface or from
list subscribers.

The rest of the notes are organized in 4 sections: changes since the
last delivery; known issues and restrictions with this delivery; how
to install, configure, and build the tarballs; and an annotated sample
mail message from nightly(1).


A. Changes since 20050701

- merged with Solaris Nevada build 18.  Note that this delivery also
  includes a security fix for ld.so.1 (6291547), plus two more fixes
  that got pulled in with the security fix (6276905 and 6280467).

- added source for keyserv, makekey, rpc.nispasswdd, nisaddcred, rtld,
  libbc, and lib/passwdutil.

- temporarily removed source for pktool, because it now has a
  dependency on the crypto code and does not build.  This should be
  fixed in the build 19 delivery.


B. Known Issues

1. The sources cannot be used to generate Solaris (pkgadd(1m))
   packages.

2. The following make(1) targets are known not to work:
    - make lint
    - make check

3. Non-DEBUG kernel builds have not been tested.  Systems that require
   the ata driver are known not to work with non-DEBUG builds.

4. "Install -i" has not been tested on all platforms.  It is known not
   to work for the lw8 platform.

5. Cross-compilation between SPARC and x86 is not supported.  But
   builds on x86 systems (amd64 or i386) will build both amd64 and
   i386 binaries.

   This is unlikely to be fixed any time soon.  If you want to build
   both SPARC and x86, your choices are (a) create two workspaces, or
   (b) access a single workspace using NFS.  If you use a single
   workspace, you'll want to do a "make clean" or "make clobber"
   before building the other platform.  Note that nightly(1) will do a
   "make clobber" for you.

6. You may see console warnings like

     Feb 26 13:55:48 magneto sshd[100804]: libpkcs11: Cannot load PKCS#11
      library /usr/lib/security/pkcs11_softtoken_extra.so.  dlerror:
      ld.so.1: /usr/lib/ssh/sshd: fatal:
      /usr/lib/security/pkcs11_softtoken_extra.so: open failed: No
      such file or directory. See cryptoadm(1M). Skipping this plug-in.
     Feb 26 13:55:48 magneto sshd[100804]: Kerberos mechanism library
      initialization error: unknown error.

   These messages can be ignored unless you need working crypto (e.g.,
   Kerberos).  To fix, change pkcs11_softtoken_extra.so to
   pkcs11_softtoken.so in /etc/crypto/pkcs11.conf and do "svcadm
   restart cryptosvc".

7. When BFUing, you may see error messages like 

    bfu: could not copy /net/greenline.eng/meta0/smf/post-5090532/kdmconfig.xml

   These messages can be ignored, as long as you're BFUing on top
   of Build 16 or later, as recommended above.

8. bfu needs to be cleaned up so that it can easily handle flag days
   when run externally. This has been coded and mostly tested (CR
   4865419).  This will also fix the "could not copy" error messages.


C. Installation from Source

Once you have downloaded the tarballs that you need, here are the
steps to build the sources.

Suppose you are using /export/testws as your workspace.

1. cd to /export/testws and unpack the sources and encumbered
   binaries, e.g.,

    $ bzcat opensolaris-src-DATE.tar.bz2 | tar xf -
    $ bzcat opensolaris-closed-bins-DATE.PLATFORM.tar.bz2 | tar xf -

   The sources will unpack into "usr/src" and the binaries will unpack
   into "closed/root_PLATFORM" (i.e., closed/root_i386 or
   closed/root_sparc).

2. Install the compiler according to the instructions at the download
   site.  (Of course, if the compilers have not changed since you last
   installed them, there is no need to install them again.)  The result
   should have the compilers installed in /opt/SUNWspro.

   If you already have the Studio 10 compiler installed, you can use
   it, provided you have the following patches installed:

     SPARC:
     C: 117836-02
     C++: 117830-02
     Backend:117832-02
    
     x86:
     C: 117837-03
     C++: 117831-01
     Backend: 117846-05

   You may find it easier to install the Studio 10 compilers using the
   tarballs, rather than installing them as packages.

   If you wish to use gcc, please note that the changes needed to build
   with gcc have not yet been integrated into the OpenSolaris source
   base.  To learn what the issues are, get the necessary sources, and
   get instructions for building with gcc, please visit the OpenSolaris
   gcc project page (http://www.opensolaris.org/os/tools/gcc).

3a. Remove the existing onbld tools, if any.

   - If this is the first time you are installing build tools, skip ahead
     to step 3b.

   - Otherwise, use pkgrm(1M) to remove the old package.

3b. Install the current onbld tools.

   - The SUNWonbld package is a pkgadd-format directory that has been
     archived using tar and bzip2.  Unpack it in a temporary directory and
     use pkgadd(1M) to install it.  For example:

        # cd /var/tmp
        # bzip2 -dc /path/to/SUNWonbld-DATE.PLATFORM.tar.bz2 | tar xf -
        # pkgadd -d onbld SUNWonbld

3c. Install the "extras" tools if needed for the platform you're
    building.

        # cd /opt
        # bzip2 -dc /path/to/opensolaris-build-extras-DATE.PLATFORM.tar.bz2 \
            | tar xf -

4. Update your environment and login dot-files if this is the first
   time you have installed the compiler and/or build tools.

   - Add /opt/SUNWspro/bin and /opt/onbld/bin to your $PATH. 
   - Either remove /usr/ucb from your $PATH, or put it at the end.

5. Create an environment file to guide tools like nightly(1) and
   bldenv(1).  

   - copy /export/testws/usr/src/tools/env/opensolaris.sh to
     /export/testws.  It doesn't have to go in /export/testws, but
     that's a convenient place to put it.  Nor do you have to keep the
     name opensolaris.sh, but that's the name we'll use in these notes.

     Then make the following changes in your opensolaris.sh:

   - change GATE to the name of the top-level directory (e.g.,
     "testws").

   - change CODEMGR_WS to the top-level path (e.g., "/export/testws").

   - change STAFFER to your login.

   - (optional) customize VERSION.  This is the string that "uname -v"
     will print.

6. To build a complete set of archives, cd to /export/testws, utter

    nightly ./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/testws/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/testws/proto/root_PLATFORM).  To
   bypass these steps, do an incremental build with "nightly -i
   ./opensolaris.sh &".

7. To build a specific component, first use bldenv(1) to set up
   various environment variables, then cd to the subtree that you want
   to build.  For example:

    $ cd /export/testws
    $ bldenv -d ./opensolaris.sh
    [status information from bldenv]
    $ cd usr/src/cmd/vi
    $ dmake all

   To build the kernel, run dmake(1) from usr/src/uts.

Please see the Developer's Reference for information on how to install
kernels (using Install(1)) and archives (using BFU).


D. Annotated nightly(1) Mail

Here's a sample mail message from nightly(1).  This is from a full
OpenSolaris build on a 4-way 2.7GHz x86 system.  Annotations are
bracketed with <anno>...</anno>.


==== Nightly distributed build started:   Thu Jun  9 19:37:03 PDT 2005 ====
==== Nightly distributed build completed: Thu Jun  9 21:20:45 PDT 2005 ====

==== Total build time ====

real    1:43:42

==== Nightly argument issues ====

Warning: the N option (do not run protocmp) is set; it probably shouldn't be

<anno>
We have not done anything yet with the package definitions for
OpenSolaris, so we told nightly(1) not to do any checks of the package
definitions.  nightly(1) is reminding us that this needs to be fixed.
</anno>

==== Build environment ====

/usr/bin/uname
SunOS magneto 5.11 testws:2005-06-09 i86pc i386 i86pc

/opt/onbld/bin/nightly testws/opensolaris-sos10.sh
nightly.sh version 1.81 2005/06/01

/opt/SUNWspro/bin/dmake
dmake: Sun Distributed Make 7.3 2003/03/12
number of concurrent jobs = 4

/aux1/sos10/opt/SUNWspro/bin/cc
cc: Sun C 5.7 Patch 117837-03 2005/03/23

64-bit compiler
/usr/sfw/bin/gcc
gcc (GCC) 3.4.3 (csl-sol210-3_4-branch)

/usr/java/bin/javac
java full version "1.5.0_01-b08"

/usr/ccs/bin/as
as: Sun Compiler Common 10 s10_73 11/23/2004

/usr/ccs/bin/ld
ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.494

Build project:  default
Build taskid:   65

==== Build version ====

testws:2005-06-09

==== Make clobber ERRORS ====

<anno>
If you are doing an incremental build ("nightly -i"), the "clobber"
sections may be missing.
</anno>

==== Make tools clobber ERRORS ====


==== Tools build errors ====


==== Build errors (DEBUG) ====

<anno>
No error messages, so the build succeeded.  If you do get errors, you
can look in the detailed log in
$CODEMGR_WS/log/log.<mmdd>/nightly.log.  The detailed log contains a
lot of text, and there are typically multiple compiles going on at
once.  So it might not be immediately clear what directory the
build was in at the time.  Look for messages like "Current working
directory <path>" to tell you where the build failed.
</anno>

==== Build warnings (DEBUG) ====

<anno>
The build should be warning-free.
</anno>

==== Elapsed build time (DEBUG) ====

real  1:27:30.6
user  2:10:17.8
sys   1:05:26.7

==== Build noise differences (DEBUG) ====

<anno>
This section compares unexpected messages (typically warnings or
errors) from your previous build with unexpected messages from this
build.
</anno>

==== cpio archives build errors (DEBUG) ====

Copying /aux0/tonic/testws/closed/root_i386 to /tmp/bfu406783...
Copying /aux0/tonic/testws/proto/root_i386 to /tmp/bfu406783...

<anno>
These two lines are normal.  Anything else should be investigated.
</anno>

==== Check ELF runtime attributes ====


==== Diff ELF runtime attributes (since last build) ====

<anno>
This section shows changes such as different library dependencies.  In
this example, libcrypt_i was replaced in the build by libcrypt.
</anno>

616c616
< ./usr/bin/ed: NEEDED=libcrypt_i.so.1
---
> ./usr/bin/ed: NEEDED=libcrypt.so.1
620c620
< ./usr/bin/edit: NEEDED=libcrypt_i.so.1
---
> ./usr/bin/edit: NEEDED=libcrypt.so.1
636c636
< ./usr/bin/ex: NEEDED=libcrypt_i.so.1
---
> ./usr/bin/ex: NEEDED=libcrypt.so.1
1053c1053
< ./usr/bin/red: NEEDED=libcrypt_i.so.1
---
> ./usr/bin/red: NEEDED=libcrypt.so.1
1178c1178
< ./usr/bin/vedit: NEEDED=libcrypt_i.so.1
---
> ./usr/bin/vedit: NEEDED=libcrypt.so.1
1183c1183
< ./usr/bin/vi: NEEDED=libcrypt_i.so.1
---
> ./usr/bin/vi: NEEDED=libcrypt.so.1
1188c1188
< ./usr/bin/view: NEEDED=libcrypt_i.so.1
---
> ./usr/bin/view: NEEDED=libcrypt.so.1
1504c1504
< ./usr/lib/exrecover: NEEDED=libcrypt_i.so.1
---
> ./usr/lib/exrecover: NEEDED=libcrypt.so.1
3327c3327
< ./usr/xpg4/bin/ed: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg4/bin/ed: NEEDED=libcrypt.so.1
3331c3331
< ./usr/xpg4/bin/edit: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg4/bin/edit: NEEDED=libcrypt.so.1
3338c3338
< ./usr/xpg4/bin/ex: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg4/bin/ex: NEEDED=libcrypt.so.1
3372c3372
< ./usr/xpg4/bin/vedit: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg4/bin/vedit: NEEDED=libcrypt.so.1
3377c3377
< ./usr/xpg4/bin/vi: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg4/bin/vi: NEEDED=libcrypt.so.1
3382c3382
< ./usr/xpg4/bin/view: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg4/bin/view: NEEDED=libcrypt.so.1
3394c3394
< ./usr/xpg6/bin/ed: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg6/bin/ed: NEEDED=libcrypt.so.1
3398c3398
< ./usr/xpg6/bin/edit: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg6/bin/edit: NEEDED=libcrypt.so.1
3403c3403
< ./usr/xpg6/bin/ex: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg6/bin/ex: NEEDED=libcrypt.so.1
3413c3413
< ./usr/xpg6/bin/vedit: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg6/bin/vedit: NEEDED=libcrypt.so.1
3418c3418
< ./usr/xpg6/bin/vi: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg6/bin/vi: NEEDED=libcrypt.so.1
3423c3423
< ./usr/xpg6/bin/view: NEEDED=libcrypt_i.so.1
---
> ./usr/xpg6/bin/view: NEEDED=libcrypt.so.1

==== Find core files ====

<anno>
This section should be empty.
</anno>

==== Impact on file permissions ====



-- 
Keith M Wesolowski              "Sir, we're surrounded!" 
Solaris Kernel Team             "Excellent; we can attack in any direction!" 
_______________________________________________
opensolaris-code mailing list
[email protected]
https://opensolaris.org:444/mailman/listinfo/opensolaris-code

Reply via email to