Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-422

[Cygwin] linker errors due to multiple definitions of typeinfo of many library symbols

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • None
    • None
    • Build and Installation
    • None
    • shared optimized (12d) build with gcc-3.4.4 on CYGWIN_NT-5.1 mug 1.5.24(0.156/4/2) 2007-01-31 10:57 i686 Cygwin

    Description

      Most programs are failing to link with gcc 3.4.4 on Cygwin with errors similar to the following:

      gcc 18.exception.o -o 18.exception -L$(BUILDDIR)/rwtest -lrwtest -L$(BUILDDIR)/lib -lstd -lsupc++ -lcatgets -liconv -lm
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12adc): multiple definition of `typeinfo name for _rw::_rw_badbit_set'
      18.exception.o:18.exception.cpp.rdata$ZTSN4rw15_rw_badbit_setE[typeinfo name for __rw::__rw_badbit_set]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12648): multiple definition of `typeinfo for std::out_of_range'
      18.exception.o:18.exception.cpp.rdata$_ZTISt12out_of_range[typeinfo for std::out_of_range]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12b54): multiple definition of `typeinfo name for std::bad_typeid'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt10bad_typeid[typeinfo name for std::bad_typeid]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12c54): multiple definition of `typeinfo name for std::length_error'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt12length_error[typeinfo name for std::length_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12c68): multiple definition of `typeinfo name for std::out_of_range'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt12out_of_range[typeinfo name for std::out_of_range]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x13170): multiple definition of `typeinfo name for std::underflow_error'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt15underflow_error[typeinfo name for std::underflow_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12bf4): multiple definition of `typeinfo name for std::range_error'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt11range_error[typeinfo name for std::range_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x128a4): multiple definition of `typeinfo for std::bad_cast'
      18.exception.o:18.exception.cpp.rdata$_ZTISt8bad_cast[typeinfo for std::bad_cast]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x1250c): multiple definition of `typeinfo for _rw::_rw_eofbit_set'
      18.exception.o:18.exception.cpp.rdata$ZTIN4rw15_rw_eofbit_setE[typeinfo for __rw::__rw_eofbit_set]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12604): multiple definition of `typeinfo for std::range_error'
      18.exception.o:18.exception.cpp.rdata$_ZTISt11range_error[typeinfo for std::range_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12be4): multiple definition of `typeinfo name for std::logic_error'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt11logic_error[typeinfo name for std::logic_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12e7c): multiple definition of `typeinfo name for std::overflow_error'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt14overflow_error[typeinfo name for std::overflow_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12db8): multiple definition of `typeinfo name for std::runtime_error'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt13runtime_error[typeinfo name for std::runtime_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12aac): multiple definition of `typeinfo name for _rw::_rw_failure'
      18.exception.o:18.exception.cpp.rdata$ZTSN4rw12_rw_failureE[typeinfo name for __rw::__rw_failure]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x126f8): multiple definition of `typeinfo for std::overflow_error'
      18.exception.o:18.exception.cpp.rdata$_ZTISt14overflow_error[typeinfo for std::overflow_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x134e4): multiple definition of `typeinfo name for std::bad_alloc'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt9bad_alloc[typeinfo name for std::bad_alloc]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12b14): multiple definition of `typeinfo name for _rw::_rw_failbit_set'
      18.exception.o:18.exception.cpp.rdata$ZTSN4rw16_rw_failbit_setE[typeinfo name for __rw::__rw_failbit_set]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x124e8): multiple definition of `typeinfo for _rw::_rw_failure'
      18.exception.o:18.exception.cpp.rdata$ZTIN4rw12_rw_failureE[typeinfo for __rw::__rw_failure]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12794): multiple definition of `typeinfo for std::underflow_error'
      18.exception.o:18.exception.cpp.rdata$_ZTISt15underflow_error[typeinfo for std::underflow_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12af8): multiple definition of `typeinfo name for _rw::_rw_eofbit_set'
      18.exception.o:18.exception.cpp.rdata$ZTSN4rw15_rw_eofbit_setE[typeinfo name for __rw::__rw_eofbit_set]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12c40): multiple definition of `typeinfo name for std::domain_error'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt12domain_error[typeinfo name for std::domain_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12630): multiple definition of `typeinfo for std::domain_error'
      18.exception.o:18.exception.cpp.rdata$_ZTISt12domain_error[typeinfo for std::domain_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x124f4): multiple definition of `typeinfo for _rw::_rw_exception'
      18.exception.o:18.exception.cpp.rdata$ZTIN4rw14_rw_exceptionE[typeinfo for __rw::__rw_exception]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12c90): multiple definition of `typeinfo name for std::bad_exception'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt13bad_exception[typeinfo name for std::bad_exception]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x1338c): multiple definition of `typeinfo name for std::bad_cast'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt8bad_cast[typeinfo name for std::bad_cast]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12518): multiple definition of `typeinfo for _rw::_rw_failbit_set'
      18.exception.o:18.exception.cpp.rdata$ZTIN4rw16_rw_failbit_setE[typeinfo for __rw::__rw_failbit_set]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12660): multiple definition of `typeinfo for std::bad_exception'
      18.exception.o:18.exception.cpp.rdata$_ZTISt13bad_exception[typeinfo for std::bad_exception]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x1263c): multiple definition of `typeinfo for std::length_error'
      18.exception.o:18.exception.cpp.rdata$_ZTISt12length_error[typeinfo for std::length_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x13574): multiple definition of `typeinfo name for std::exception'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt9exception[typeinfo name for std::exception]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x125f8): multiple definition of `typeinfo for std::logic_error'
      18.exception.o:18.exception.cpp.rdata$_ZTISt11logic_error[typeinfo for std::logic_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x1296c): multiple definition of `typeinfo for std::bad_alloc'
      18.exception.o:18.exception.cpp.rdata$_ZTISt9bad_alloc[typeinfo for std::bad_alloc]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x127a0): multiple definition of `typeinfo for std::invalid_argument'
      18.exception.o:18.exception.cpp.rdata$_ZTISt16invalid_argument[typeinfo for std::invalid_argument]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12500): multiple definition of `typeinfo for _rw::_rw_badbit_set'
      18.exception.o:18.exception.cpp.rdata$ZTIN4rw15_rw_badbit_setE[typeinfo for __rw::__rw_badbit_set]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12ac4): multiple definition of `typeinfo name for _rw::_rw_exception'
      18.exception.o:18.exception.cpp.rdata$ZTSN4rw14_rw_exceptionE[typeinfo name for __rw::__rw_exception]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x13184): multiple definition of `typeinfo name for std::invalid_argument'
      18.exception.o:18.exception.cpp.rdata$_ZTSSt16invalid_argument[typeinfo name for std::invalid_argument]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x1255c): multiple definition of `typeinfo for std::bad_typeid'
      18.exception.o:18.exception.cpp.rdata$_ZTISt10bad_typeid[typeinfo for std::bad_typeid]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x126bc): multiple definition of `typeinfo for std::runtime_error'
      18.exception.o:18.exception.cpp.rdata$_ZTISt13runtime_error[typeinfo for std::runtime_error]+0x0): first defined here
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x12990): multiple definition of `typeinfo for std::exception'
      18.exception.o:18.exception.cpp.rdata$_ZTISt9exception[typeinfo for std::exception]+0x0): first defined here
      /usr/lib/gcc/i686-pc-cygwin/3.4.4/libsupc++.a(tinfo2.o).rdata$_ZTISt9type_info[typeinfo for std::type_info]+0x0): multiple definition of `typeinfo for std::type_info'
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x129d0): first defined here
      /usr/lib/gcc/i686-pc-cygwin/3.4.4/libsupc++.a(tinfo2.o).rdata$_ZTSSt9type_info[typeinfo name for std::type_info]+0x0): multiple definition of `typeinfo name for std::type_info'
      $(BUILDDIR)/lib/libstd.dll:ti_wmoney_put.cpp.rdata+0x13694): first defined here
      collect2: ld returned 1 exit status
      make: *** [18.exception] Error 1

      Attachments

        Activity

          People

            farid Farid Zaripov
            sebor Martin Sebor
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: