[vtkusers] Migration to VTK6

David Gobbi david.gobbi at gmail.com
Fri Dec 11 01:14:09 EST 2015


Actually I might have misunderstood your issue.  Did you build VTK 6
yourself, or did you download a binary package?  In either case, the three
cmake variables that I mentioned above should be set the same in your own
project as they are in the VTK that you are building against.

On Thu, Dec 10, 2015 at 11:00 PM, David Gobbi <david.gobbi at gmail.com> wrote:

> You can try setting the SDK info in the CMakeCache.txt:
>
> CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.11
> CMAKE_OSX_ARCHITECTURES:STRING=x86_64
> CMAKE_OSX_SYSROOT:STRING=macosx10.11
>
> I recommend deleting your entire build directory, creating a new
> CMakeCache.txt that has only these three lines, and then re-running cmake.
>
>  - David
>
>
> On Thu, Dec 10, 2015 at 10:49 PM, Arno Klein <binarybottle at gmail.com>
> wrote:
>
>> 'gcc tmp.cpp' created an 'a.out' file, and I have been able to compile
>> other things, so I guess my Xcode installation is fine.  What do you
>> recommend I try next?
>>
>> Cheers,
>> @rno
>>
>> On Thu, Dec 10, 2015 at 7:52 PM, David Gobbi <david.gobbi at gmail.com>
>> wrote:
>>
>>> The header unistd.h is posix standard and comes with every Xcode SDK.
>>> Try compiling the following trivial program.  If it doesn't compile, then
>>> there must be something awry with your Xcode installation:
>>>
>>> #include <unistd.h>
>>> int main()
>>> {
>>>   return 0;
>>> }
>>>
>>>  - David
>>>
>>> On Thu, Dec 10, 2015 at 7:39 PM, Arno Klein <binarybottle at gmail.com>
>>> wrote:
>>>
>>>> Thank you for your help!
>>>>
>>>> I am now able to compile with cmake on linux, but get the following
>>>> error on macosx 10.11, even though there is no "unistd.h" anywhere in my
>>>> github repo (https://github.com/nipy/mindboggle/issues/69):
>>>>
>>>> Scanning dependencies of target FsSurfaceReader
>>>> [ 3%] Building CXX object
>>>> CMakeFiles/FsSurfaceReader.dir/FsSurfaceReader.cpp.o
>>>> In file included from
>>>> /software/mindboggle/surface_cpp_tools/FsSurfaceReader.cpp:13:
>>>> In file included from
>>>> /software/mindboggle/surface_cpp_tools/FsSurfaceReader.h:16:
>>>> In file included from /usr/local/include/vtk-6.0/vtkPolyData.h:58:
>>>> In file included from /usr/local/include/vtk-6.0/vtkPointSet.h:30:
>>>> In file included from /usr/local/include/vtk-6.0/vtkDataSet.h:41:
>>>> In file included from /usr/local/include/vtk-6.0/vtkDataObject.h:36:
>>>> In file included from /usr/local/include/vtk-6.0/vtkObject.h:42:
>>>> In file included from /usr/local/include/vtk-6.0/vtkObjectBase.h:44:
>>>> In file included from /usr/local/include/vtk-6.0/vtkIndent.h:25:
>>>> In file included from /usr/local/include/vtk-6.0/vtkSystemIncludes.h:36:
>>>> In file included from /usr/local/include/vtk-6.0/vtkIOStream.h:33:
>>>> In file included from
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iostream:37:
>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:23:10:
>>>> fatal error:
>>>> 'unistd.h' file not found
>>>> #include
>>>> ^
>>>> 1 error generated.
>>>> make[2]: *** [CMakeFiles/FsSurfaceReader.dir/FsSurfaceReader.cpp.o]
>>>> Error 1
>>>> make[1]: *** [CMakeFiles/FsSurfaceReader.dir/all] Error 2
>>>> make: *** [all] Error 2
>>>>
>>>> Cheers,
>>>> @rno
>>>>
>>>> On Thu, Dec 3, 2015 at 6:25 AM, David E DeMarle <
>>>> dave.demarle at kitware.com> wrote:
>>>>
>>>>> I agree with Cory on Update() being redundant before the Write().
>>>>>
>>>>> >    vtkDataObject* dobj = someAlgorithm->GetOutput(1);
>>>>> >    dobj->Update();
>>>>>
>>>>> should become:
>>>>>
>>>>>   someAlgorithm->Update(1); //to make sure there is something valid
>>>>>   vtkDataObject* dobj = someAlgorithm->GetOutput(1); //keep the output
>>>>> for later use
>>>>>
>>>>> Because since vtk6, dobj no longer has any connection to the
>>>>> algorithm, so updating it (which used to update the algorithm for you) no
>>>>> longer has any meaning.
>>>>>
>>>>>
>>>>>
>>>>> David E DeMarle
>>>>> Kitware, Inc.
>>>>> R&D Engineer
>>>>> 21 Corporate Drive
>>>>> Clifton Park, NY 12065-8662
>>>>> Phone: 518-881-4909
>>>>>
>>>>> On Thu, Dec 3, 2015 at 9:09 AM, Cory Quammen <cory.quammen at kitware.com
>>>>> > wrote:
>>>>>
>>>>>> Arno,
>>>>>>
>>>>>> That pattern should be valid in VTK6. Are you getting compile errors?
>>>>>>
>>>>>> I believe the Update() and Write() calls to the writer are redundant
>>>>>> - you should need only one.
>>>>>>
>>>>>> Thanks,
>>>>>> Cory
>>>>>>
>>>>>> On Wed, Dec 2, 2015 at 5:56 PM, Arno Klein <binarybottle at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> I am trying to update my code to migrate to VTK6 according to:
>>>>>>>
>>>>>>> http://www.vtk.org/Wiki/VTK/VTK_6_Migration/Removal_of_Update
>>>>>>>
>>>>>>> According to the examples on that site, I understand that:
>>>>>>>
>>>>>>>     vtkDataObject* dobj = someAlgorithm->GetOutput(1);
>>>>>>>     dobj->Update();
>>>>>>>
>>>>>>> should become:
>>>>>>>
>>>>>>>     someAlgorithm->Update(1);
>>>>>>>
>>>>>>>
>>>>>>> However, I don’t know how to deal with the following pattern:
>>>>>>>
>>>>>>> void PointAreaComputer::WriteIntoFile(char *fileName)
>>>>>>> {
>>>>>>>     vtkPolyDataWriter* writer=vtkPolyDataWriter::New();
>>>>>>>     writer->SetFileName(fileName);
>>>>>>>     m_mesh->GetPointData()->SetScalars(m_pointsArea);
>>>>>>>     writer->SetInputData(m_mesh);
>>>>>>>     writer->Update();
>>>>>>>     writer->Write();
>>>>>>>     writer->Delete();
>>>>>>> }
>>>>>>>
>>>>>>> What should I do to make this compatible with VTK6?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> @rno
>>>>>>>
>>>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20151210/d20470be/attachment.html>


More information about the vtkusers mailing list