Re: ICC compile errors

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Thu, 24 Mar 2011 09:51:52 -0600

On 03/24/2011 08:13 AM, Amos Jeffries wrote:
> I've got it to the point where all the simple ones appear gone.
>
> Anyone have a clue what this means? and how we fix it?
>
> The closest I could get was that it did not like the system definitions
> inside <iosfwd>
>
>
> /usr/include/c++/4.1.2/cstdio(109): error: the global scope has no
> "fgetpos"
> using ::fgetpos;
> ^
> /usr/include/c++/4.1.2/cstdio(111): error: the global scope has no "fopen"
> using ::fopen;
...
> /usr/include/c++/4.1.2/cstdio(138): error: the global scope has no
> "tmpfile"
> using ::tmpfile;
> ^
> compilation aborted for ../../../src/base/AsyncJob.cc (code 2)

If the above "using ::foo" lines are inside the /usr/include/ header
file (included by <iosfwd>?), then the compiler seems to be complaining
that said functions are not declared, making the "using" statements
invalid. This would be a compiler [header file] bug then.

Try #including <stdio.h> in Squid files _before_ including <iosfwd>. If
it helps, we would need to provide an <iosfwd> wrapper as the final
solution.

HTH,

Alex.

> Kinkie:
> There also seems to be a problem with ccache on that job. I have to
> remove it to get around "no rule to make ###" errors. Where ### was some
> internal ccache name for an object with build-generated .cc.
>
> Amos
Received on Thu Mar 24 2011 - 15:52:06 MDT

This archive was generated by hypermail 2.2.0 : Sat Mar 26 2011 - 12:00:04 MDT