[vtk-developers] Compile errors: Common/Core/Testing/Cxx/TestAtomic.cxx

David Gobbi david.gobbi at gmail.com
Wed Oct 9 13:48:50 EDT 2013


Hi Berk,

The wrappers parse all of the header files, even the WRAP_EXCLUDE ones.
Wrapping consists of two parts: parsing the headers, and generating glue code.
Marking something as "WRAP_EXCLUDE" only stops the wrappers from
generating glue code, it doesn't stop the wrappers from parsing the code.

To stop the wrappers from parsing the code, you have to mark off blocks
of code with #ifndef __WRAP__.

 David

On Wed, Oct 9, 2013 at 11:38 AM, Berk Geveci <berk.geveci at kitware.com> wrote:
> Thanks for the fix. I'll still have to wrap exclude it because of Tcl and
> Java. I thought that I did it already but it looks like I need to exclude
> both the .h and the .cxx because of the way this is being done. I'll push a
> fix shortly.
>
> -berk
>
>
> On Wed, Oct 9, 2013 at 12:24 PM, David Gobbi <david.gobbi at gmail.com> wrote:
>>
>> These two lines in vtkAtomicInt.h are tripping up the wrapper-parser:
>>
>>  virtual ~vtkAtomicIntImpl<vtkTypeInt32>();
>>
>>  virtual ~vtkAtomicIntImpl<vtkTypeInt64>();
>>
>> They can be blocked off by #ifdef __WRAP__ for now, while I
>> investigate the underlying cause.
>>
>>  David
>>
>>
>> On Wed, Oct 9, 2013 at 10:08 AM, David Gobbi <david.gobbi at gmail.com>
>> wrote:
>> > The Java and Tcl continuous dashboard errors can be cleared by marking
>> > vtkAtomicInt.h as "WRAP_EXCLUDE".  As for the Win32-specific wrapping
>> > error, I'm still looking into it.
>> >
>> > On Wed, Oct 9, 2013 at 9:57 AM, David Gobbi <david.gobbi at gmail.com>
>> > wrote:
>> >> I see that the wrapper-parser is reporting a syntax error in
>> >> vtkAtomicInt.h.  I'm trying to find out why this is happening
>> >> (especially why it only happens on Win32).
>> >>
>> >> On Wed, Oct 9, 2013 at 8:17 AM, Berk Geveci <berk.geveci at kitware.com>
>> >> wrote:
>> >>> Yup my bad. I am working on a fix. I can infer that your machine is 32
>> >>> bit
>> >>> btw :-)
>> >>>
>> >>> -berk
>> >>>
>> >>>
>> >>> On Tue, Oct 8, 2013 at 8:13 PM, Bill Lorensen
>> >>> <bill.lorensen at gmail.com>
>> >>> wrote:
>> >>>>
>> >>>> It has been a few days since I updated VTK. Today I get these erros
>> >>>> on
>> >>>> my 32 bit linux build:
>> >>>> Linking CXX executable ../../../../bin/vtkCommonCoreCxxTests
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `MyFunction3(void*)':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/Testing/Cxx/TestAtomic.cxx:57:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long
>> >>>> long>::operator+=(long long)'
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `MyFunction4(void*)':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/Testing/Cxx/TestAtomic.cxx:74:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long
>> >>>> long>::operator+=(long long)'
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `TestAtomic(int, char**)':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/Testing/Cxx/TestAtomic.cxx:147:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long long>::load()
>> >>>> const'
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerrit/Common/Core/Testing/Cxx/TestAtomic.cxx:158:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long long>::load()
>> >>>> const'
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `vtkAtomicInt':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerritNew-linux/Common/Core/vtkAtomicInt.h:363:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long
>> >>>> long>::vtkAtomicIntImpl()'
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `vtkAtomicInt<long long>::operator++()':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerritNew-linux/Common/Core/vtkAtomicInt.h:371:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long
>> >>>> long>::operator++()'
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `vtkAtomicInt<long long>::operator--()':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerritNew-linux/Common/Core/vtkAtomicInt.h:385:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long
>> >>>> long>::operator--()'
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `vtkAtomicInt<long long>::operator-=(long long)':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerritNew-linux/Common/Core/vtkAtomicInt.h:399:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long
>> >>>> long>::operator+=(long long)'
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `vtkAtomicInt<long long>::operator=(long long)':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerritNew-linux/Common/Core/vtkAtomicInt.h:413:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long
>> >>>> long>::store(long long)'
>> >>>>
>> >>>>
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o:(.rodata._ZTI12vtkAtomicIntIxE[typeinfo
>> >>>> for vtkAtomicInt<long long>]+0x8): undefined reference to `typeinfo
>> >>>> for detail::vtkAtomicIntImpl<long long>'
>> >>>> CMakeFiles/vtkCommonCoreCxxTests.dir/TestAtomic.cxx.o: In function
>> >>>> `~vtkAtomicInt':
>> >>>>
>> >>>>
>> >>>> /home/lorensen/ProjectsGIT/VTKGerritNew-linux/Common/Core/vtkAtomicInt.h:349:
>> >>>> undefined reference to `detail::vtkAtomicIntImpl<long
>> >>>> long>::~vtkAtomicIntImpl()'
>> >>>> collect2: ld returned 1 exit status
>> >>>> make[2]: *** [bin/vtkCommonCoreCxxTests] Error 1
>> >>>> make[1]: ***
>> >>>> [Common/Core/Testing/Cxx/CMakeFiles/vtkCommonCoreCxxTests.dir/all]
>> >>>> Error 2
>> >>>> make: *** [all] Error 2
>> >>>> [VTKGerritNew-linux]
>> >>>> _______________________________________________
>> >>>> Powered by www.kitware.com
>> >>>>
>> >>>> Visit other Kitware open-source projects at
>> >>>> http://www.kitware.com/opensource/opensource.html
>> >>>>
>> >>>> Follow this link to subscribe/unsubscribe:
>> >>>> http://www.vtk.org/mailman/listinfo/vtk-developers
>> >>>>
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> Powered by www.kitware.com
>> >>>
>> >>> Visit other Kitware open-source projects at
>> >>> http://www.kitware.com/opensource/opensource.html
>> >>>
>> >>> Follow this link to subscribe/unsubscribe:
>> >>> http://www.vtk.org/mailman/listinfo/vtk-developers
>> >>>
>> >>>
>
>



More information about the vtk-developers mailing list