A multiple definition error in Creating library file: liboctave.dll.a (gcc-4.3.2-dw2-TDM for mingw )
Benjamin Lindner
lindnerben at gmx.net
Thu Feb 12 13:48:28 CST 2009
>
>
> Tatsuro MATSUOKA wrote:
>> Hello
>>
>> Today it is national holiday in Japan.
>> I have tried to build octave-3.1.52 using gcc-4.3.2-dw2-TDM for mingw.
>>
>> An previous thread of
>> "int64NDArray.cc cannot be complied on gcc-3.45 mingw for octave-3.1.52"
>> http://www.nabble.com/int64NDArray.cc-cannot-be-complied-on-gcc-3.45-mingw-for-octave-3.1.52-to21927353.html
>>
>>
>> was not happened in the case of gcc-4.3.2-dw2-TDM for mingw.
>>
>> However I met another error.
>>
>> A multiple definition error in Creating library file: liboctave.dll.a.
>>
>> Creating library file: liboctave.dll.a
>> Sparse-C.o:Sparse-C.cc:(.text$_ZN11octave_sortISt7complexIdEE17ascending_compareES1_S1_[octave_sort<std::complex<double>
>>
>>> ::ascending_compare(std::complex<double>, std::complex<double>)]+0x0):
>> multiple definition of `octave_sort<std::complex<double>
>> >::ascending_compare(std::complex<double>,
>> std::complex<double>)'
>> Array-C.o:c:\usr\Tatsu\mingwhome\octaves\octave-3.1.52\liboctave/Array-C.cc:44:
>>
>> first defined here
>>
>> Mmmm??
>>
>
> I can try this as cross-check. I did a 4.3.2-2 build if the development
> sources some time ago as a proof-of-concept-check and encountered no error.
> let's see...
>
Ok, I can reproduce this error with both 4.3.2-2 and 4.3.0-2 of TDM's
gcc port.
I see that r8700:314be237cd5b changed a bunch of code and also
introcuded the doubly-defined function
octave_sort<std::complex<double>
>::ascending_compare(std::complex<double> const&, std::complex<double>
const&)
which ld complains about
hmm, I don't see the bug in the code immediately.
Is this error seen on other platforms too, or is it a mingw-specific
gcc/ld problem?
benjamin
More information about the Octave-maintainers
mailing list