Issue Details (XML | Word | Printable)

Key: STDCXX-96
Type: Bug Bug
Status: Open Open
Priority: Minor Minor
Assignee: Martin Sebor
Reporter: Martin Sebor
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
C++ Standard Library

[gcc 2.95.2] exception::~exception() et al multiply-defined

Created: 07/Jan/06 05:18 AM   Updated: 23/Aug/07 11:45 PM
Return to search
Component/s: Build and Installation
Affects Version/s: 4.1.3
Fix Version/s: None

Time Tracking:
Not Specified

Environment: gcc 2.95.2


 Description  « Hide
The library fails to build with gcc 2.95.2:

$ nice make BUILDDIR=/tmp/stdcxx-gcc-2.95.2-12d BUILDTYPE=12d
...
gcc -c -I/tmp/stdcxx-r355532/include/ansi -pthreads -D_RWSTD_USE_CONFIG -I/tmp/stdcxx-gcc-2.95.2-12d/include -I/tmp/stdcxx-r355532/include -pedantic -nostdinc++ -fhonor-std -ftemplate-depth-32 -O2 -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -fPIC /tmp/stdcxx-r355532/src/wctype.cpp
gcc assert.o atomic-cxx.o bitset.o catalog.o codecvt.o collate.o ctype.o ctype_bits.o exception.o export.o facet.o file.o instance.o ios.o ios_bits.o iostore.o iostream.o iso2022.o limits.o limits_bits.o locale_bits.o locale_body.o locale_classic.o locale_combine.o locale_core.o locale_eq.o locale_global.o locale_name.o memattr.o memory.o messages.o num_get.o num_put.o punct.o random.o setlocale.o strstream.o strtol.o ti_collate.o ti_filebuf.o ti_insert_dbl.o ti_insert_int.o ti_insert_ptr.o ti_ios.o ti_istream.o ti_messages.o ti_money_get.o ti_money_put.o ti_moneypunct.o ti_num_get.o ti_num_put.o ti_numpunct.o ti_ostream.o ti_streambuf.o ti_string.o ti_stringbuf.o ti_time_get.o ti_time_put.o ti_wcollate.o ti_wfilebuf.o ti_winsert_dbl.o ti_winsert_int.o ti_winsert_ptr.o ti_wios.o ti_wistream.o ti_wmessages.o ti_wmoney_get.o ti_wmoney_put.o ti_wmoneypunct.o ti_wnum_get.o ti_wnum_put.o ti_wnumpunct.o ti_wostream.o ti_wstreambuf.o ti_wstring.o ti_wstringbuf.o ti_wtime_get.o ti_wtime_put.o time_get.o time_put.o tmpbuf.o typeinfo.o valarray.o vecbool.o version.o wcodecvt.o wctype.o -pthreads -shared -Wl,-M /tmp/stdcxx-r355532/src/mapfile.gcc-2 -o /tmp/stdcxx-gcc-2.95.2-12d/lib/libstd12d.so.4.1.3
ld: fatal: symbol `bad_exception::bad_exception(void)' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `exception::~exception(void)' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `exception::what(void) const' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `exception::exception(void)' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `bad_exception::~bad_exception(void)' is multiply-defined:
(file exception.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(exception.o));
ld: fatal: symbol `bad_alloc::what(void) const' is multiply-defined:
(file memory.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(new.o));
ld: fatal: symbol `bad_typeid::bad_typeid(void)' is multiply-defined:
(file typeinfo.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(tinfo.o));
ld: fatal: symbol `bad_cast::bad_cast(void)' is multiply-defined:
(file typeinfo.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(tinfo.o));
ld: fatal: symbol `bad_typeid::~bad_typeid(void)' is multiply-defined:
(file typeinfo.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(tinfo.o));
ld: fatal: symbol `bad_cast::~bad_cast(void)' is multiply-defined:
(file typeinfo.o and file /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/libgcc.a(tinfo.o));
ld: fatal: File processing errors. No output written to /tmp/stdcxx-gcc-2.95.2-12d/lib/libstd12d.so.4.1.3
collect2: ld returned 1 exit status
make[2]: *** [/tmp/stdcxx-gcc-2.95.2-12d/lib/libstd12d.so] Error 1
make[2]: Leaving directory `/tmp/stdcxx-gcc-2.95.2-12d/lib'
make[1]: *** [lib] Error 2
make[1]: Leaving directory `/tmp/stdcxx-gcc-2.95.2-12d'
make: *** [libstd] Error 2



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Martin Sebor added a comment - 05/Jul/07 02:30 AM
Decreased priority. gcc 2.95.2 is way out of date.

Martin Sebor added a comment - 23/Aug/07 11:45 PM
This most likely won't get fixed in 4.2 but I'll leave it open in case someone is motivated enough to try to fix it later...