Boost logo

Boost :

Subject: Re: [boost] Issues with intel's compiler and newer builds of GCC
From: John Maddock (boost.regex_at_[hidden])
Date: 2010-10-20 04:37:01


> While working on getting icc to not choke on Serialization (the Boost test
> boxes
> indicated that icc was failing to build with the addition of my changes),
> I came
> across a very nasty bug the occurs when using icc with version 4.5 or
> higher of
> GNU's standard library - GNU's <iomanip> uses what are either illegal or
> C++0x
> semantics which icc doesn't support. Serialization uses <iomanip>, and icc
> seems
> to select the latest version of libstd++ installed on a Linux machine as
> it's
> default standard library (I have been unable to find an Intel standard
> library -
> I'm assuming such a thing doesn't exist).
>
> When using an older version of libstd++, icc + Serialization compiled
> fine. I
> removed all uses of IO parameterized manipulators in Serialization (there
> were
> only maybe half a dozen cases)*, and got icc to compile Serialization with
> libstd++ v4.5.

Oh, Intel's compiler isn't supported with gcc-4.5, period. Basically you
shouldn't use it with anything except 4.4 or lower - there should be an
installation option to control which gcc version gets picked up, but it's
such a while since I had to do that I can't remember how it all works :-(

> Is there any chance the linux/darwin Intel build bots can be set up to use
> libstd++
> v4.4, if they're not already using it? Intel is apparently aware of this
> issue,
> but it won't be fixed until their next major release
> (http://software.intel.com/en-us/forums/showthread.php?t=74691).

You can always find out what compiler and library versions are in use by
going to the Boost.Config test results and clicking on the config_info
results for the test runner you're interested in, for example:
http://tinyurl.com/2ujk8td indicates that Darwin Intel-11.1 is on top of gcc
4.0.1.

> If the build bots aren't using v4.5 of GNU's standard library, then I'm at
> a loss
> as to why Serialization is failing to build on them. My only other thought
> is that
> the timeout for the build cycle is too low - the failures indicate that
> the error
> is a timeout after 300 seconds.

I see what you mean... not very helpful!

The best you can do is contact the test runner for more info.

As a general note, the Intel-Darwin tests seem to have more than their fair
share of unexpected/unexplained failures, I can only assume that Intel's
support for Darwin is a lot less mature than for Windows/Linux.

> On a more general note, is Intel on Linux/Darwin a "supported" Boost
> compiler?

Issue with core "supported" compiles are shown on the issues page:
http://beta.boost.org/development/tests/trunk/developer/issues.html, there
are no Intel-Darwin failures there, just the VC7.1 ones.

HTH, John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk