[ITK-dev] Failing link on Mac after May 7 changes

Bill Lorensen bill.lorensen at gmail.com
Fri May 22 10:28:45 EDT 2015


Brad,

I just pushed a patch.

Bill


On Fri, May 22, 2015 at 10:20 AM, Bradley Lowekamp
<blowekamp at mail.nih.gov> wrote:
> 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
>



-- 
Unpaid intern in BillsBasement at noware dot com


More information about the Insight-developers mailing list