This is a flag day for build machine maintainers, and a heads up
for everyone else. My fix for
6866605 SUNWonbld ELF analysis tools need overhaul
changes the SUNWonbld tools used to build OSnet. The most significant
change is the removal of the intf_check tool that underlies the nightly
-A flag. In its place are two new tools (interface_check/interface_cmp).
The nightly script used must match these changes, or build errors will
result.
- If you have an old workspace, but are using the new tools, you
will see this:
==== Nightly build noise ====
interface_cmp: Unable to open: /local/abi/nightly_mismatch/usr/src/
tools/abi/interface.i386 at /opt/onbld/bin/interface_cmp line 252.
- If you use old tools with a new workspace containing these changes, the
==== Check versioning and ABI information ====
section of the resulting mail message may contain thousands of
lines of output.
In either case, the failure is with the testing, and not necessarily
with the build itself.
You can fix things in one of the following ways. These options are listed
from best to worst. The best option is (1).
1) Update the SUNWonbld package on your build server at the
same time that you update your workspace.
2) Build SUNWonbld in your workspace, and use the resulting nightly
script, along with the -t flag in your env file, to completely
avoid any use of the installed tools. Assuming your working
directory is currently in the root of the workspace, and that your
env file is found there, the steps to do this will look like:
% bldenv env
% cd usr/src/tools
% make
% cd $CODEMGR_WS
% usr/src/tools/proto/opt/onbld/bin/nightly ... env
3) Specify the +t flag to nightly, in order to use the tools
installed on your system, without reference to your workspace.
-----
Incremental Nighly Builds In Existing Workspaces:
This information is purely informational. No action is needed.
The previous versions of the ELF tools (-A and -r nightly flags)
produced files in usr/src:
runtime-$(MACH).out
runtime-$(MACH).ref
interfaces.out
interfaces.ref
The new version creates a single directory in usr/src named
ELF-data.$(MACH)
and rotates the previous version to
ELF-data.$(MACH).ref
Within that directory, a variety of files related to the -A and -r
nightly flags are created.
If you do an incremental build in an existing workspace, using the
new tools, the old files listed above are not used by the new
tools. They can be safely removed, or left as they are.