Re: "interesting" build failure using SunStudio CC

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 02 Oct 2009 14:00:51 +1300

Henrik Nordstrom wrote:
> tor 2009-10-01 klockan 16:47 +0200 skrev Kinkie:
>> ld: fatal: symbol `void operator delete[](void*)' is multiply-defined:
>> (file store.o type=FUNC; file SquidNew.o type=FUNC);
>> ld: fatal: symbol `void*operator new[](unsigned)' is multiply-defined:
>> (file store.o type=FUNC; file SquidNew.o type=FUNC);
>> ld: fatal: symbol `void operator delete(void*)' is multiply-defined:
>> (file debug.o type=FUNC; file SquidNew.o type=FUNC);
>> ld: fatal: symbol `void*operator new(unsigned)' is multiply-defined:
>> (file debug.o type=FUNC; file SquidNew.o type=FUNC);
>> ld: fatal: file processing errors. No output written to ufsdump
>
>> I can't find WHERE those may be multiply-defined. Any ideas?
>
> include/SquidNew.h
>
> Regards
> Henrik
>

Defined in Squid.New.h. With an explicit instantiation in SquidNew.o AND
everywhere else when inlined.

The util.h piece looks like it should be mostly in the compat library
compat/os/sgi.h with just a wrapped include left there if needed.

** SquidNew.cc needs some better wrapping tests to ensure the functions
don't get defined there there when inlined.

And <new> needs to be tested by configure and safety-wrapped as well.

Does the attached patch change anything?

Amos

-- 
Please be using
   Current Stable Squid 2.7.STABLE7 or 3.0.STABLE19
   Current Beta Squid 3.1.0.14

Received on Fri Oct 02 2009 - 01:01:00 MDT

This archive was generated by hypermail 2.2.0 : Fri Oct 02 2009 - 12:00:04 MDT