[ https://issues.apache.org/jira/browse/STDCXX-262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12476648 ] Eric Lemings commented on STDCXX-262: ------------------------------------- This problem is apparently due to a bug in the G++ ABI implementation on Darwin and is supposedly fixed in the GCC 4.2 release series. Hopefully, Apple will pick this regression fix up in a future release. (Leopard/Xcode 3.0 maybe?) See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25908 for more details. > [gcc/Mac OS X 10.4.6 Tiger] Multiple vtable definitions for bad_exception and bad_alloc. > ---------------------------------------------------------------------------------------- > > Key: STDCXX-262 > URL: https://issues.apache.org/jira/browse/STDCXX-262 > Project: C++ Standard Library > Issue Type: Bug > Components: Build > Affects Versions: 4.1.3 > Environment: Darwin machine.local 8.7.1 Darwin Kernel Version 8.7.1: Wed Jun 7 16:19:56 PDT 2006; root:xnu-792.9.72.obj~2/RELEASE_I386 i386 i386 > Reporter: Eric Lemings > > machine:~/Work user$ svn co http://svn.apache.org/repos/asf/incubator/stdcxx/trunk stdcxx > A stdcxx/generate.bat > A stdcxx/LICENSE.txt > A stdcxx/tests > A stdcxx/tests/tr1.util > ... > A stdcxx/examples/manual/time_put.cpp > A stdcxx/examples/manual/moneyget.cpp > A stdcxx/examples/manual/except.cpp > A stdcxx/examples/manual/memfunc.cpp > Checked out revision 423638. > machine:~/Work user$ cd stdcxx > machine:~/Work/stdcxx user$ make BUILDDIR="~/Build" BUILDMODE="debug,shared,pthreads" > creating BUILDDIR=/Users/user/Build/stdcxx > generating /Users/user/Build/stdcxx/makefile.in from /Users/user/Work/stdcxx/etc/config/gcc.config > make config > configuring for gcc-4.0.1 on darwin-8.7.1-i386 > checking if the compiler is sane ok (invoked with gcc) > checking if the linker is sane ok (invoked with gcc) > checking system architecture ILP32 little endian > ... > gcc -c -I/Users/user/Work/stdcxx/include/ansi -D_RWSTDDEBUG -D_RWSTD_USE_CONFIG -I/Users/user/Work/stdcxx/include -I/Users/user/Build/stdcxx/include -pedantic -nostdinc++ -g -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align -fPIC /Users/user/Work/stdcxx/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 string.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 -lsupc++ -lgcc_eh -o /Users/user/Build/stdcxx/lib/libstd.dylib.4.2.0 > /usr/bin/ld: multiple definitions of symbol vtable for std::bad_exception > exception.o definition of vtable for std::bad_exceptionin section (__DATA,__const) > /usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libsupc++.a(eh_exception.o) private external definition of vtable for std::bad_exceptionin section (__DATA,__const) > /usr/bin/ld: multiple definitions of symbol vtable for std::bad_alloc > memory.o definition of vtable for std::bad_allocin section (__DATA,__const) > /usr/lib/gcc/i686-apple-darwin8/4.0.1/../../../libsupc++.a(new_handler.o) private external definition of vtable for std::bad_allocin section (__DATA,__const) > collect2: ld returned 1 exit status > make[2]: *** [/Users/user/Build/stdcxx/lib/libstd.dylib] Error 1 > make[1]: *** [lib] Error 2 > make: *** [libstd] Error 2 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.