#1123 Multiple definition error in dune/istl/supermatrix.hh
Metadata
Property | Value |
---|---|
Reported by | Matthias Wohlmuth (matthias.wohlmuth@ma.tum.de) |
Reported at | Jun 5, 2012 14:28 |
Type | Bug Report |
Version | Git (pre2.4) [autotools] |
Operating System | Unspecified / All |
Last edited by | Markus Blatt (markus@dr-blatt.de) |
Last edited at | Jun 8, 2012 11:08 |
Closed by | Markus Blatt (markus@dr-blatt.de) |
Closed at | Jun 8, 2012 11:08 |
Closed in version | Unknown |
Resolution | Fixed |
Comment | in rev. 1620 |
Description
In the current trunk, several static consts such as
static const Dtype_t GetSuperLUType::type=SLU_D;
are both declared and defined in <dune/istl/supermatrix.hh>
This leads to multiple definition errors if the file is included by several cc files (for example by another dune-based library).
:(.rodata+0x988): multiple definition of Dune::GetSuperLUType<double>::type' :(.rodata+0x3b0): first defined here :(.rodata+0x98c): multiple definition of
Dune::GetSuperLUType::type'
:(.rodata+0x3b4): first defined here
:(.rodata+0x990): multiple definition of Dune::GetSuperLUType<std::complex<double> >::type' :(.rodata+0x3b8): first defined here :(.rodata+0x994): multiple definition of
Dune::GetSuperLUType<std::complex >::type'
:(.rodata+0x3bc): first defined here
:(.rodata+0xa38): multiple definition of Dune::GetSuperLUType<double>::type' :(.rodata+0x3b0): first defined here :(.rodata+0xa3c): multiple definition of
Dune::GetSuperLUType::type'
:(.rodata+0x3b4): first defined here
:(.rodata+0xa40): multiple definition of Dune::GetSuperLUType<std::complex<double> >::type' :(.rodata+0x3b8): first defined here :(.rodata+0xa44): multiple definition of
Dune::GetSuperLUType<std::complex >::type'
:(.rodata+0x3bc): first defined here
:(.rodata+0x360): multiple definition of Dune::GetSuperLUType<double>::type' :(.rodata+0x3b0): first defined here :(.rodata+0x364): multiple definition of
Dune::GetSuperLUType::type'
:(.rodata+0x3b4): first defined here
:(.rodata+0x368): multiple definition of Dune::GetSuperLUType<std::complex<double> >::type' :(.rodata+0x3b8): first defined here :(.rodata+0x36c): multiple definition of
Dune::GetSuperLUType<std::complex >::type'
:(.rodata+0x3bc): first defined here