From: Braden M. <br...@en...> - 2006-11-24 04:13:08
|
Quoting Philip Lamb <ph...@ed...>: > I finally got around to building OpenVRML on Mac OS X on a PowerPC > machine, and have encountered a build failure during linking. This > doesn't appear on Mac OS X x86 and I'm at a bit of a loss to diagnose > the cause: [snip] > g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../lib/antlr -I../../java - > I../../src/libopenvrml -DOPENVRML_LIBDIR_=\"/sw/lib\" - > DOPENVRML_PKGDATADIR_=\"/sw/share/openvrml\" - > DBOOST_SPIRIT_THREADSAFE -DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS - > DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -I/sw/include -D_THREAD_SAFE -I/usr/ > X11R6/include -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 - > DXP_UNIX -I/sw/include/mozilla/nspr -I/sw/include/mozilla/js -g -O2 - > MT openvrml/node.lo -MD -MP -MF openvrml/.deps/node.Tpo -c openvrml/ > node.cpp -fno-common -DPIC -o openvrml/.libs/node.o > /var/tmp//cc7pQI6V.s:unknown:Non-global symbol: > __ZTv0_n12_ZN46_GLOBAL__N_openvrml_node.cpp_00000000_0CF9259613self_ref_ > node17do_event_listenerERKSsEN14dummy_listenerD1Ev.eh can't be a > weak_definition > /var/tmp//cc7pQI6V.s:unknown:Non-global symbol: > __ZTv0_n12_ZN46_GLOBAL__N_openvrml_node.cpp_00000000_0CF9259613self_ref_ > node17do_event_listenerERKSsEN14dummy_listenerD0Ev.eh can't be a > weak_definition > /var/tmp//cc7pQI6V.s:unknown:Non-global symbol: > __ZTv0_n16_ZN46_GLOBAL__N_openvrml_node.cpp_00000000_0CF9259613self_ref_ > node16do_event_emitterERKSsENK13dummy_emitter14do_eventout_idEv.eh > can't be a weak_definition Looks related to symbol visibility. Hard to say exactly what might fix it, but here are a few things you can try: * Remove OPENVRML_LOCAL from the definition of self_ref_node. * Move self_ref_node out of the unnamed namespace. * Move the definitions of dummy_listener and dummy_emitter out of the function definitions. -- Braden McDaniel e-mail: <br...@en...> <http://endoframe.com> Jabber: <br...@ja...> |