Hi there,

It's not clear exactly who you invoked the build or which docs you've
seen or not seen, so if this is stuff you already know, feel free to
ignore it.

On 5/7/21 10:20 AM, Reginald Beardsley via illumos-discuss wrote:
> How do I diagnose this?  Are there more detailed logfiles that have the full 
> compiler and linker output?  If not, is there a way to turn those on so they 
> can be saved and scanned later?

When running nightly, all output goes to a file called 'nightly.log'.
>From the root of an illumos clone, you would find this file in
'log/latest/nightly.log'.

By default, all compiler and linker output is always saved. One thing to
be aware of though is that make is always set up to run with -k. This
means that multiple errors will be found. This means the last error you
see often isn't the one you care about, but rather the first is the one
you want.

See https://illumos.org/books/dev/debugging.html#build-failures for a
bit more information there. In particular the following paragraph of
advice is what you probably want to follow:

dmake notes errors in a rather predictable pattern. The errors are
always prefixed on a line with a series of three asterisks: ***. One of
the easiest ways to find the first failure is to open up nightly.log in
your favorite text editor and search for the regular expression: \*\*\*.
Note that the escape characters are important as otherwise you'll likely
match everything. Once you find where the first error occurs, you'll
generally want to enter bldenv and run the failed dmake install or
similar command that failed. Using bldenv gets you into a much tighter
feedback loop and makes it easier to experiment with fixes.

> My SOP for large systems is to investigate all warnings and then filter out 
> the ones I've checked and decided are OK.  Basically "Extract; Build; Test; 
> Check" to retrieve the source, compile it, run the test suite and then check 
> for warnings and errors.  Check ignores anything that has been investigated 
> so only new messages will appear at the output.

That's fine and should generally work. I always suggest running a full
nightly and then iterating with bldenv and using the targets described
on a regular basis:
https://illumos.org/books/dev/workflow.html#your-best-friend-while-building-bldenv.

> I couldn't make much sense of the build system as stuff I read referenced 
> files  e.g. "developer"  which didn't exist anywhere in the git clone. 

Which docs in particular are you referring to? What were you expecting
to find in the git clone that you didn't?

> So I took a SWAG and started the build with:
> 
>  dmake -C usr/src install |& tee bld.log
> 
> which died with:
> 
> [snip]
> 
> /usr/bin/rm -f 
> /git/illumos/illumos-gate/proto/root_i386/usr/lib/lp/bin/netpr; 
> /git/illumos/illumos-gate/usr/src/tools/proto/root_i386-nd/opt/onbld/bin/i386/install
>  -s -m 04511 -f /git/illumos/illumos-gate/proto/root_i386/usr/lib/lp/bin netpr
> *** Error code 1
> The following command caused the error:
> cd cmd; pwd; dmake install
> dmake: Fatal error: Command failed for target `cmd'
> Current working directory /git/illumos/illumos-gate/usr/src

Was this the occurrence of an error in your log? Had you previously run
nightly?

Robert

------------------------------------------
illumos: illumos-discuss
Permalink: 
https://illumos.topicbox.com/groups/discuss/Td7233eed32a00459-M3d87d849463a3461835c7315
Delivery options: https://illumos.topicbox.com/groups/discuss/subscription

Reply via email to