From: Sven W. <wur...@ip...> - 2004-09-20 15:07:30
|
Hello, has anyone on the list ever tried to build VxL on Mac OS X (10.3.5)? I get a linker error due to unresolved symbols in libvnl_algo.dylib e.g.: ---8<--- std::basic_ostream<char, std::char_traits<char> >& operator<< <double>(std::basic_ostream<char, std::char_traits<char> >&, vnl_matrix<double> const&) [...] ---8<--- Unfortunatly I've no clue how to fix this at the moment... Sven |
From: Brad K. <bra...@ki...> - 2004-09-20 17:06:40
|
Sven Wursthorn wrote: > Hello, > > has anyone on the list ever tried to build VxL on Mac OS X (10.3.5)? > I get a linker error due to unresolved symbols in libvnl_algo.dylib > e.g.: > ---8<--- > std::basic_ostream<char, std::char_traits<char> >& operator<< > <double>(std::basic_ostream<char, std::char_traits<char> >&, > vnl_matrix<double> const&) > [...] > ---8<--- > Unfortunatly I've no clue how to fix this at the moment... I tracked this problem down recently. It is a bug in the 10.3.5 build tools. Consider the following example code: template <class T> void foo(T) {} template <class T> void bar(T t) { foo(t); } template void bar<int>(int); template void foo<int>(int); On an older OSX installation this builds and produces these symbols: 00000000 T __Z3barIiEvT_ 00000034 T __Z3fooIiEvT_ On a newer OSX installation these symbols are produced instead: 00000000 T __Z3barIiEvT_ 00000054 S __Z3fooIiEvT_ The "S" symbol cannot be used outside the .o file in which it is stored. This is causing vxl's explicit instantiations to break. -Brad |
From: Chanop Silpa-A. <ch...@sy...> - 2004-09-21 09:48:47
|
On 10.3.5, downgrade to Xcode 1.2 if you are using Xcode 1.5 at the moment; I have no idea otherwise. I hit the problem a few weeks ago starting with the compilation of vnl. Cheers, Chanop On a good day of Mon, Sep 20, 2004 at 05:08:44PM +0200, Sven Wursthorn wrote > Hello, > > has anyone on the list ever tried to build VxL on Mac OS X (10.3.5)? > I get a linker error due to unresolved symbols in libvnl_algo.dylib > e.g.: > ---8<--- > std::basic_ostream<char, std::char_traits<char> >& operator<< > <double>(std::basic_ostream<char, std::char_traits<char> >&, > vnl_matrix<double> const&) > [...] > ---8<--- > Unfortunatly I've no clue how to fix this at the moment... -- ############################################### #Chanop Silpa-Anan # #gpg @ http://thai.rsise.anu.edu.au/chanop.asc# ############################################### |