[
https://issues.apache.org/jira/browse/STDCXX-422?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Sebor reassigned STDCXX-422:
-----------------------------------
Assignee: Farid Zaripov
Farid, can you please look at this when you have a chance?
> [Cygwin] linker errors due to multiple definitions of typeinfo of many
> library symbols
> --------------------------------------------------------------------------------------
>
> Key: STDCXX-422
> URL: https://issues.apache.org/jira/browse/STDCXX-422
> Project: C++ Standard Library
> Issue Type: Bug
> Components: Build
> Affects Versions: 4.2
> Environment: 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
> Reporter: Martin Sebor
> Assignee: Farid Zaripov
> Priority: Blocker
>
> 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$_ZTSN4__rw15__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$_ZTIN4__rw15__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$_ZTSN4__rw12__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$_ZTSN4__rw16__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$_ZTIN4__rw12__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$_ZTSN4__rw15__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$_ZTIN4__rw14__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$_ZTIN4__rw16__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$_ZTIN4__rw15__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$_ZTSN4__rw14__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
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.