Hi,
On a fresh checkout of v4.13.0, on High Sierra using the system compiler & Ninja, I am getting the following at the end of my build:
[2181/2181] Linking CXX executable bin/itkTestDriver
ld: warning: direct access in function 'itk::ThreadPool::GetGlobalDefaultNumberOfThreads()' from file 'lib/libITKCommon-4.13.a(itkThreadPool.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<unsigned short>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libITKVNLInstantiation-4.13.a(vnl_vector+ushort-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<char>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libITKVNLInstantiation-4.13.a(vnl_vector+char-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<double>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libitkvnl-4.13.a(vnl_vector+double-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<float>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libitkvnl-4.13.a(vnl_vector+float-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<int>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libitkvnl-4.13.a(vnl_vector+int-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<long>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libitkvnl-4.13.a(vnl_vector+long-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<long long>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libitkvnl-4.13.a(vnl_vector+longlong-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<unsigned long>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libitkvnl-4.13.a(vnl_vector+ulong-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in function 'vnl_vector<unsigned long long>::read_ascii(std::__1::basic_istream<char, std::__1::char_traits<char> >&)' from file 'lib/libitkvnl-4.13.a(vnl_vector+ulonglong-.cxx.o)' to global weak symbol 'std::__1::__cxx03_bool::__true_value()' from file 'lib/libitksys-4.13.a(SystemTools.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
A Google search shows this is probably because the -fvisibility=hidden
setting is being set differently for parts of the ITK build. Is this something that I can fix with a CMake setting?
Thanks.