[ITK-dev] Failing link on Mac after May 7 changes
Bradley Lowekamp
blowekamp at mail.nih.gov
Fri May 22 10:20:44 EDT 2015
Bill,
This compiler has known problems with visibility. These are the lines that should disable it for your compiler:
https://github.com/InsightSoftwareConsortium/ITK/blob/master/CMake/ITKModuleMacros.cmake#L12-L15
What is the value of USE_COMPILER_HIDDEN_VISIBILITY in you CMakeCache.txt files? Does manually setting it to off resolve your issue?
Brad
On May 22, 2015, at 10:11 AM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
> My Mac build
> i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1
> has link errors after this commit:
> commit c11b4ebd3d5f63f2ec281d31eef14f3af6dbf1d4
> Author: Hans Johnson <hans-johnson at uiowa.edu>
> Date: Thu May 7 06:56:36 2015 -0500
>
> COMP: Prefer modern CMake visibility settings
>
> When available, prefer to use the modern cmake
> set_target_property() mechanism for setting
> export visibility of libaries.
>
> The add_compiler_export_flags function is obsolete. Use the
> CXX_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN target properties
> instead.
>
> Change-Id: Ibcf8b493bd8cba021e12e14bf18a7b46ae7e6e0a
>
> The linker errors are many like the following:
> Undefined symbols for architecture x86_64:
> "itk::Object::~Object()", referenced from:
> itk::Statistics::RandomVariateGeneratorBase::~RandomVariateGeneratorBase()in
> ITKCommonHeaderTest5.cxx.o
> itk::Statistics::RandomVariateGeneratorBase::~RandomVariateGeneratorBase()in
> ITKCommonHeaderTest5.cxx.o
> itk::Statistics::MersenneTwisterRandomVariateGenerator::~MersenneTwisterRandomVariateGenerator()in
> ITKCommonHeaderTest5.cxx.o
> itk::Statistics::MersenneTwisterRandomVariateGenerator::~MersenneTwisterRandomVariateGenerator()in
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::CreateAnother() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::LightObject::Delete()", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::Register() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::UnRegister() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::SetReferenceCount(int)", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::PrintSelf(std::basic_ostream<char,
> std::char_traits<char> >&, itk::Indent) const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> "itk::LightObject::PrintHeader(std::basic_ostream<char,
> std::char_traits<char> >&, itk::Indent) const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::LightObject::PrintTrailer(std::basic_ostream<char,
> std::char_traits<char> >&, itk::Indent) const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::LightObject::InternalClone() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::DebugOn() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::DebugOff() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::GetMTime() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::GetTimeStamp() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::Modified() const", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "itk::Object::SetTimeStamp(itk::TimeStamp const&)", referenced from:
> vtable for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> "typeinfo for itk::Object", referenced from:
> typeinfo for itk::Statistics::RandomVariateGeneratorBasein
> ITKCommonHeaderTest5.cxx.o
> "itk::Statistics::MersenneTwisterRandomVariateGenerator::PrintSelf(std::basic_ostream<char,
> std::char_traits<char> >&, itk::Indent) const", referenced from:
> vtable for
> itk::Statistics::MersenneTwisterRandomVariateGeneratorin
> ITKCommonHeaderTest5.cxx.o
> ld: symbol(s) not found for architecture x86_64
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-developers
More information about the Insight-developers
mailing list