[vtkusers] Migration to VTK6

David Gobbi david.gobbi at gmail.com
Fri Dec 11 01:00:54 EST 2015


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/a345a547/attachment.html>


More information about the vtkusers mailing list