[rrd-users] Solaris10 IEEE optimization problem solved
mcguire at neurotica.com
Sun Apr 8 08:32:15 CEST 2007
Hi folks. I'm new to the list; I just subscribed to mention that
I've tracked down the IEEE math test failure that many have
experienced when attempting to build rrdtool v1.2.19 under Solaris 10
with Studio 11 compiler. Some have reported that disabling all
optimization will allow the configure script to complete...This is
true, but...erm, suboptimal, pun intended.
Like others who have been bitten by this, I usually use the "-
fast" cc option with Studio 11. This is basically a type of macro
that enables over a dozen other optimization options. I consulted
the compiler's documentation to find out specifically which ones they
are, and eliminated each one in turn until I found the one that
causes the rrdtool configure script to fail.
The offending option is "-fsimple=2", an aggressive optimization
option which, according to the documentation, "allows the optimizer
to make simplifying assumptions concerning floating-point
arithmetic." When this option is enabled, the optimizer performs
certain somewhat dangerous operations which apparently trip up the
IEEE math tests in rrdtool's configure script.
The cc program's option parser is written such that any option,
including one implied by a macro option like -fast, can be overridden
by another option placed later on the command line. I set my CFLAGS
environment variable thusly:
$ export CFLAGS="-fast -fsimple=0"
...where the "-fsimple=0" disables the preceding "-fsimple=2"
implied by -fast. This allows the configure script to complete
successfully, while retaining the remainder of the optimizations
implied by -fast. I also tested "-fsimple=1"...this also fails; -
fsimple=0 is required.
Port Charlotte, FL
More information about the rrd-users