I use gcc (GCC) 4.2.0 20060120 to compile Cactus, a large piece of code
combining C, C++, and Fortran.  I receive many errors from the linker like

/usr/bin/ld: multiple definitions of symbol typeinfo for MPI::Op
/Users/eschnett/Calpha/configs/einstein-orange-gcc-debug/lib/libthorn_Carpet.a(helpers.cc.o)
definition of typeinfo for MPI::Opin section (__DATA,__const)
/Users/eschnett/Calpha/configs/einstein-orange-gcc-debug/lib/libthorn_CarpetAdaptiveRegrid.a(CAR.cc.o)
definition of typeinfo for MPI::Opin section (__DATA,__const)

or

/usr/bin/ld: multiple definitions of symbol vtable for MPI::Op
/Users/eschnett/Calpha/configs/einstein-orange-gcc-debug/lib/libthorn_Carpet.a(helpers.cc.o)
definition of vtable for MPI::Opin section (__DATA,__const)
/Users/eschnett/Calpha/configs/einstein-orange-gcc-debug/lib/libthorn_CarpetAdaptiveRegrid.a(CAR.cc.o)
definition of vtable for MPI::Opin section (__DATA,__const)

(Note that the error messages seem run-together; e.g. "MPI::OPin" seems to
refer to the class "MPI::Op", which is located IN a certain section.)

These errors are not there with gcc (GCC) 4.2.0 20051129.  The code also works
fine on many other architectures.  But with C++, I am not sure what the reason
is.

I have looked on the web, and the gcc PR "[Bug c++/16218] Link problems with
inline virtual function in multiple translation units" seems similar.  At that
time, it apparently was an error in gcc that caused this problem.



I use the linker /usr/bin/ld
Apple Computer, Inc. version cctools-590.18.obj~10

and these C++ classes are defined in LAM MPI 7.0.6-11, which I installed via
fink.


-- 
           Summary: Multiple definitions of symbol vtables
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: schnetter at aei dot mpg dot de
 GCC build triplet: powerpc-apple-darwin8.4.0
  GCC host triplet: powerpc-apple-darwin8.4.0
GCC target triplet: powerpc-apple-darwin8.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25908

Reply via email to