Re: "interesting" build failure using SunStudio CC

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 02 Oct 2009 15:58:39 +1300

Amos Jeffries wrote:
> Amos Jeffries wrote:
>> 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
>>
>
> Bah typo. after applying inside include/SquidNew.h you will have to add
> the #if in wrapping of <new>
>
> Amos

Okay that wasn't all the was wrong with the first patch.

New one attached, this is now build-tested in Linux.

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 - 02:58:46 MDT

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