[Insight-users] vnl lib error : link error with gcc4.1 when using coverage options -fprofile-arcs -ftest-coverage

Alexandre GOUAILLARD hanfei at caltech.edu
Mon Aug 13 20:19:24 EDT 2007


Hi luis.

Thanks for keeping me informed.

I always had the coverage flags passed to the linker previously (as the wiki
page advised).
I tried just removing the linker flags, did not work. I had to remove all
the flags all together.

Sorry I did not have time to report the bug. I ll fill one tonight (LA
time).

I checked on mac as mat and thomas(and ruben I think)  reported , and yes,
the compiler is noisy even without covering flag, but it compiles so I'm not
sure this is the same issue.

Hope that helps.

alex


On 8/13/07 5:05 PM, "Luis Ibanez" <luis.ibanez at kitware.com> wrote:

> Hi Alex,
> 
> 
> Just for the record:
> 
> I'm encountering a very similar problem when building
> today's CVS  version of ITK in an Ubuntu distribution 7.0.4.
> 
> The link error messages are:
> 
> 
> 
> Linking CXX executable ../../../../../../bin/vnl_algo_test_all
> /home/ibanez/bin/ITKGcc4.1/bin/libitkvnl.a(vnl_sparse_matrix+float-.o):(.ctors
> +0x0):
> undefined reference to `global constructors keyed to
> _home_ibanez_src_Insight_Utilities_vxl_core_vnl_Templates_vnl_sparse_matrix_fl
> oat_.cxx_8D2A3925_1D9C90C2'
> /home/ibanez/bin/ITKGcc4.1/bin/libitkvnl.a(vnl_vector+int-.o):(.ctors+0x0):
> undefined reference to `global constructors keyed to
> _home_ibanez_src_Insight_Utilities_vxl_core_vnl_Templates_vnl_vector_int_.cxx_
> 8D2A3925_6EA31B59'
> /home/ibanez/bin/ITKGcc4.1/bin/libitkvnl.a(vnl_sparse_matrix+double-.o):(.ctor
> s+0x0):
> undefined reference to `global constructors keyed to
> _home_ibanez_src_Insight_Utilities_vxl_core_vnl_Templates_vnl_sparse_matrix_do
> uble_.cxx_8D2A3925_45884A6D'
> /home/ibanez/bin/ITKGcc4.1/bin/libitkvnl.a(vnl_matrix+double-.o):(.ctors+0x0):
> undefined reference to `global constructors keyed to
> _home_ibanez_src_Insight_Utilities_vxl_core_vnl_Templates_vnl_matrix_double_.c
> xx_8D2A3925_D5D1E35F'
> /home/ibanez/bin/ITKGcc4.1/bin/libitkvnl.a(vnl_matrix+long-.o):(.ctors+0x0):
> undefined reference to `global constructors keyed to
> _home_ibanez_src_Insight_Utilities_vxl_core_vnl_Templates_vnl_matrix_long_.cxx
> _8D2A3925_53000A0E'
> collect2: ld returned 1 exit status
> make[2]: *** [bin/vnl_algo_test_all] Error 1
> make[1]: *** 
> [Utilities/vxl/core/vnl/algo/tests/CMakeFiles/vnl_algo_test_all.dir/all]
> Error 2
> make: *** [all] Error 2
> 
> 
> The relevant versions are
> 
> gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
> GNU ld version 2.17.50 20070103 Ubuntu
> 
> 
> The errors go away when the options
> 
>     -fprofile-arcs -ftest-coverage
> 
> are removed from the CMAKE_CXX_FLAGS
> and CMAKE_C_FLAGS variables.
> 
> 
> Googling for it, it seems that in gcc 4 the
> coverage flags must also be passed to the
> linker:
> 
> http://bugs.mysql.com/bug.php?id=24792
> 
> 
> I'll explore that a bit more...
> 
> 
> 
>      Luis
> 
> 
> 
> --------------------------------------------------------------------------
> On 8/5/07, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>> Hi Alex,
>> 
>> Yes, please report this bug in the new MANTIS bug tracker.
>> 
>>        http://www.itk.org/Bug/
>> 
>> 
>> Thanks
>> 
>> 
>>     Luis
>> 
>> 
>> --------------------------------
>> Alexandre GOUAILLARD wrote:
>>> Hi all,
>>> 
>>> The compilation without the coverage option is ok.
>>> 
>>> I did an Experimental build which result is accessible on today's
>> dashboard
>>> under the site name "dogsbody-2".
>>> 
>>> But when I add the -fprofile-arcs -ftest-coverage to the CXX, C, and
>> linker
>>> Debug flags, I have the same problems again.
>>> 
>>> The first error come from linking of the "vnl_basic_operation_timings"
>>> executable.
>>> 
>>> I will drop the coverage support, and I do not intend to dig further in
>> this
>>> problem. I hope someone will have time to adress this. Is there any good
>>> place where I could fill a bug report?
>>> 
>>> Alex hanfei.
>>> 
>>> 
>>> On 8/2/07 10:04 AM, "Alexandre GOUAILLARD" <hanfei at caltech.edu> wrote:
>>> 
>>> 
>>>> Hi all,
>>>> 
>>>> I removed the coverage options (-fprofile-arcs -ftest-coverage) and it
>> seems
>>>> to be OK now.
>>>> 
>>>> I will try to put back the coverage support later to check if that was
>>>> indeed the cause.
>>>> 
>>>> Matthias, I will try to reproduce your problem, can you give me more
>> details
>>>> as how and when it happens?
>>>> 
>>>> Alex
>>>> 
>>>> 
>>>> 
>>>> On 8/2/07 7:48 AM, "Matthias Riechmann" <riechmann at ira.uka.de> wrote:
>>>> 
>>>> 
>>>>> Maybe one of my todays postings is related to this topic. The subject is
>>>>> "Linker Errors using ScalableAffineTransform". I got ITK compiled but
>>>>> when I instantiate "ScalableAffineTransform" then I get linker errors
>>>>> describing the absence of some symbols that are supposed to be part of
>>>>> this vnl library...
>>>>> 
>>>>> 
>>>>> Matthias
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> Tomáš Kazmar schrieb:
>>>>> 
>>>>>> Hi Alex,
>>>>>> 
>>>>>> tried to compile today's ITK on a comparable Debian machine and
>>>>>> unfortunately got no similar errors - any at all. Sorry I can't help.
>>>>>> 
>>>>>> My config:
>>>>>> Debian GNU/Linux 2.6.21.1.070503b x86_32
>>>>>> gcc 4.1.3 20070629 (prerelease) (Debian 4.1.2-13)
>>>>>> gmake 3.81
>>>>>> 
>>>>>> Regards,
>>>>>> Tomash
>>>>>> 
>>>>>> # I tried to install ITK from CVS on a debian machine and I have strange
>>>>>> # compilation errors.
>>>>>> # # I googled the error message but could not find anything helpfull. I
>>>>>> # tried to switch to static lib, same problem. I tried to skip the #
>>>>>> vnl_test_all project that was generating the first erros, but the same #
>>>>>> errors appear afterward.
>>>>>> # # Anyone got any idea?
>>>>>> # # My config:
>>>>>> # Debian GNU/Linux 2.6.18-4-amd64 x86_64
>>>>>> # gcc/g++ 4.1.2 20061115 (Debian 4.1.1-21)
>>>>>> # make: GNU make 3.81 (x86_64-pc-linux-gnu)
>>>>>> # # ITK Config:
>>>>>> # with review,
>>>>>> # Debug,
>>>>>> # shared ON,
>>>>>> # coverage options.
>>>>>> # # Error log from make:
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl.so: undefined reference to
>>>>>> # `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Utilities_vxl_core_vnl_Templates_vnl_matrix_fixed_ref>
>> >>
>>> _
>>> 
>>>>>> float.3.3_.cxx_1FD5A050_2D935839'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl.so: undefined reference to
>>>>>> # `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Utilities_vxl_core_vnl_Templates_vnl_matrix_uint_.cxx>
>> >>
>>> _
>>> 
>>>>>> 1FD5A050_DDFCA457'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl.so: undefined reference to
>>>>>> # `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Utilities_vxl_core_vnl_Templates_vnl_matrix_fixed_ref>
>> >>
>>> _
>>> 
>>>>>> double.3.3_.cxx_1FD5A050_DC866386'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl.so: undefined reference to
>>>>>> # `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Utilities_vxl_core_vnl_Templates_vnl_sparse_matrix_vn>
>> >>
>>> l
>>> 
>>>>>> _bignum_.cxx_1FD5A050_0E6E34D4'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl.so: undefined reference to
>>>>>> # `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Utilities_vxl_core_vnl_Templates_vnl_matrix_fixed_flo>
>> >>
>>> a
>>> 
>>>>>> t.2.2_.cxx_1FD5A050_606BAC04'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl_inst.so: undefined
>>>>>> reference # to `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Code_Common_vnl_matrix_fixed_ref_double.4.4_.cxx_1FD5>
>> >>
>>> A
>>> 
>>>>>> 050_CBC0F9CF'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl_inst.so: undefined
>>>>>> reference # to `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Code_Common_vnl_matrix_fixed_ref_double.2.2_.cxx_1FD5>
>> >>
>>> A
>>> 
>>>>>> 050_C87829A8'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl.so: undefined reference to
>>>>>> # `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Utilities_vxl_core_vnl_Templates_vnl_matlab_print_int>
>> >>
>>> _
>>> 
>>>>>> .cxx_1FD5A050_DBC0BAA7'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl.so: undefined reference to
>>>>>> # `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Utilities_vxl_core_vnl_Templates_vnl_matlab_print_uin>
>> >>
>>> t
>>> 
>>>>>> _.cxx_1FD5A050_391F7554'
>>>>>> 
>>>>>> # /root/QuadEdge/Insight/BUILD/bin/libitkvnl.so: undefined reference to
>>>>>> # `global constructors keyed to #
>>>>>> 
>>> 
>>> 
>> _root_QuadEdge_Insight_Utilities_vxl_core_vnl_Templates_vnl_matlab_print_lon>
>> >>
>>> g
>>> 
>>>>>> _double_.cxx_1FD5A050_4BE4A926'
>>>>>> 
>>>>>> # collect2: ld returned 1 exit status
>>>>>> # make[2]: *** [bin/itkNumericsHeaderTest] Error 1
>>>>>> # make[1]: *** #
>>>>>> [Testing/Code/Numerics/CMakeFiles/itkNumericsHeaderTest.dir/all] Error 2
>>>>>> # make: *** [all] Error 2
>>>>>> # # alex
>>>>>> # # _______________________________________________
>>>>>> # Insight-users mailing list
>>>>>> # Insight-users at itk.org
>>>>>> # http://www.itk.org/mailman/listinfo/insight-users
>>>>>> # # # _______________________________________________
>>>>>> Insight-users mailing list
>>>>>> Insight-users at itk.org
>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Insight-users mailing list
>>>> Insight-users at itk.org
>>>> http://www.itk.org/mailman/listinfo/insight-users
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Insight-users mailing list
>>> Insight-users at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-users
>>> 
>> 




More information about the Insight-users mailing list