[vtkusers] Migration to VTK6

Arno Klein binarybottle at gmail.com
Thu Jan 7 11:59:58 EST 2016


Thank you for the suggestion, David.  I placed the vtkOpenGL.cmake file in

/Users/arno/Software/install/miniconda2/pkgs/cmake-3.3.1-0/share/cmake-3.3/Modules
but still receive the same error.

On Thu, Jan 7, 2016 at 11:44 AM David Gobbi <david.gobbi at gmail.com> wrote:

> There's also this patch to vtkOpenGL.cmake that you can try:
>
> https://gitlab.kitware.com/vtk/vtk/commit/4a1fbefe
>
>  - David
>
>
> On Thu, Jan 7, 2016 at 7:11 AM, Arno Klein <binarybottle at gmail.com> wrote:
>
>> That was an excellent suggestion, but alas, even after replacing that
>> file with the newer one from the link you shared I am still getting the
>> same error!
>>
>> On Thu, Jan 7, 2016 at 8:34 AM David Gobbi <david.gobbi at gmail.com> wrote:
>>
>>> Hi Arno,
>>>
>>> You can try replacing FindOpenGL.cmake with the latest one from the
>>> cmake master branch:
>>>
>>> https://cmake.org/gitweb?p=cmake.git;a=blob_plain;f=Modules/FindOpenGL.cmake
>>> On my machine, for example, the file is located here:
>>> /Applications/CMake.app/Contents/share/cmake-3.4/Modules/FindOpenGL.cmake
>>> That might help with AGL.
>>>
>>>  - David
>>>
>>>
>>> On Thu, Jan 7, 2016 at 5:37 AM, Arno Klein <binarybottle at gmail.com>
>>> wrote:
>>>
>>>> Yes, it should be building from miniconda2.  However, I can't find any
>>>> instance of "AGL" or of "10.7" anywhere in the code base  (only within the
>>>> bin directory after running cmake).  I am baffled and stuck.
>>>>
>>>> On Wed, Jan 6, 2016 at 9:36 PM David Gobbi <david.gobbi at gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Arno,
>>>>>
>>>>> Are you still building against the Anaconda python?  The build has to
>>>>> be picking up the AGL and the 10.7 SDK from somewhere, and if it isn't in
>>>>> your CMakeCache.txt, then it must be coming from somewhere.
>>>>>
>>>>>  - David
>>>>>
>>>>> On Wed, Jan 6, 2016 at 7:19 PM, Arno Klein <binarybottle at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Dear David,
>>>>>>
>>>>>> When I clear the bin directory, then run "cmake .." and "make" I
>>>>>> don't find any instance of 10.7 mentioned in any file, but still get
>>>>>> "AGL.framework" in every subdirectory's build.make file.  The
>>>>>> CMakeCache.txt file contains the following line:
>>>>>>
>>>>>>
>>>>>> CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
>>>>>>
>>>>>> And yet I am still receiving the following error:
>>>>>>
>>>>>> make[2]: *** No rule to make target
>>>>>> `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/AGL.framework',
>>>>>> needed by `travel_depth/TravelDepthMain'.  Stop.
>>>>>>
>>>>>> Cheers,
>>>>>> @rno
>>>>>>
>>>>>> On Wed, Jan 6, 2016 at 8:48 PM, David Gobbi <david.gobbi at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Arno,
>>>>>>>
>>>>>>> It could be a stale dependency.  Remove everything after the
>>>>>>> "INTERNAL cache entries" comment in your CMakeCache.txt, and also search
>>>>>>> your cache to make sure that 10.7 does not appear anywhere.
>>>>>>>
>>>>>>> Also do an "ls -l /System/Library/Frameworks/" to make sure that the
>>>>>>> OpenGL framework isn't a link to a non-existent 10.7 SDK (though I don't
>>>>>>> see how that could happen).
>>>>>>>
>>>>>>>  - David
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jan 6, 2016 at 5:34 PM, Arno Klein <binarybottle at gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> David --
>>>>>>>>
>>>>>>>> There was no instance of "AGL" in CMakeCache.txt, but I replaced
>>>>>>>> every instance of "AGL" with OpenGL" in all of the build.make files.
>>>>>>>> Without cmake, but with make I got the following error:
>>>>>>>>
>>>>>>>> make[2]: *** No rule to make target
>>>>>>>> `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/OpenGL.framework',
>>>>>>>> needed by `travel_depth/TravelDepthMain'.  Stop.
>>>>>>>>
>>>>>>>> It still calls 10.7 even though I have 10.11 installed on my Mac.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> @rno
>>>>>>>>
>>>>>>>> On Wed, Jan 6, 2016 at 7:02 PM, David Gobbi <david.gobbi at gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Arno,
>>>>>>>>>
>>>>>>>>> Look for the following line in your CMakeCache.txt:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> OPENGL_glu_LIBRARY:FILEPATH=/System/Library/Frameworks/AGL.framework
>>>>>>>>>
>>>>>>>>> Change it to the following and then recompile:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> OPENGL_glu_LIBRARY:FILEPATH=/System/Library/Frameworks/OpenGL.framework
>>>>>>>>>
>>>>>>>>> That should keep the problematic AGL library out of your build.
>>>>>>>>>
>>>>>>>>> Please let me know if this works.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>>  - David
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jan 6, 2016 at 4:45 PM, Arno Klein <binarybottle at gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Thank you all so much for your kind help.  Unfortunately, I am
>>>>>>>>>> still unable to compile the C++ code in my project on MacOSX, even after
>>>>>>>>>> setting the following in my top-level CMakeLists.txt file:
>>>>>>>>>> SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.7")
>>>>>>>>>>
>>>>>>>>>> When I type:
>>>>>>>>>> $ export VERBOSE=1
>>>>>>>>>> $ make
>>>>>>>>>>
>>>>>>>>>> I get the following even though I don't have
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/
>>>>>>>>>> but instead have
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/
>>>>>>>>>> on my computer:
>>>>>>>>>>
>>>>>>>>>> ------------------
>>>>>>>>>> ...
>>>>>>>>>>
>>>>>>>>>> *Scanning dependencies of target TravelDepthMain*
>>>>>>>>>>
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/usr/bin/make -f
>>>>>>>>>> travel_depth/CMakeFiles/TravelDepthMain.dir/build.make
>>>>>>>>>> travel_depth/CMakeFiles/TravelDepthMain.dir/build
>>>>>>>>>>
>>>>>>>>>> [ 57%] Building CXX object
>>>>>>>>>> travel_depth/CMakeFiles/TravelDepthMain.dir/TravelDepthMain.cpp.o
>>>>>>>>>>
>>>>>>>>>> cd
>>>>>>>>>> /software/install/mindboggle/surface_cpp_tools/bin/travel_depth &&
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
>>>>>>>>>>   -DvtkRenderingContext2D_AUTOINIT="1(vtkRenderingContextOpenGL)"
>>>>>>>>>> -DvtkRenderingCore_AUTOINIT="3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL)"
>>>>>>>>>> -DvtkRenderingFreeType_AUTOINIT="1(vtkRenderingMatplotlib)"
>>>>>>>>>> -DvtkRenderingVolume_AUTOINIT="1(vtkRenderingVolumeOpenGL)"
>>>>>>>>>> -I/software/install/miniconda2/include/vtk-6.3
>>>>>>>>>> -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
>>>>>>>>>> -isystem /software/install/miniconda2/include  -isysroot
>>>>>>>>>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
>>>>>>>>>>   -o CMakeFiles/TravelDepthMain.dir/TravelDepthMain.cpp.o -c
>>>>>>>>>> /software/install/mindboggle/surface_cpp_tools/travel_depth/TravelDepthMain.cpp
>>>>>>>>>>
>>>>>>>>>> make[2]: *** No rule to make target
>>>>>>>>>> `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/AGL.framework',
>>>>>>>>>> needed by `travel_depth/TravelDepthMain'.  Stop.
>>>>>>>>>>
>>>>>>>>>> make[1]: *** [travel_depth/CMakeFiles/TravelDepthMain.dir/all]
>>>>>>>>>> Error 2
>>>>>>>>>>
>>>>>>>>>> make: *** [all] Error 2
>>>>>>>>>> -------------------
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> @rno
>>>>>>>>>>
>>>>>>>>>> On Fri, Dec 11, 2015 at 9:36 PM, David Gobbi <
>>>>>>>>>> david.gobbi at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Arno,
>>>>>>>>>>>
>>>>>>>>>>> I think that I've found out where the AGL link is coming from.
>>>>>>>>>>> It isn't via Carbon, it looks like it was linked directly into the VTK that
>>>>>>>>>>> you're using.  And it looks like a bug within CMake itself.
>>>>>>>>>>>
>>>>>>>>>>> CMake has a module called FindOpenGL.cmake that VTK uses to find
>>>>>>>>>>> OpenGL.  It looks for both the OpenGL.framework and for the obsolete
>>>>>>>>>>> AGL.framework (which is only for Carbon, and is deprecated by Apple).  If
>>>>>>>>>>> it finds both (e.g. with an older SDK and XCode 6 or earlier), then it uses
>>>>>>>>>>> both, even though AGL.framework is really not needed for any modern
>>>>>>>>>>> software.
>>>>>>>>>>>
>>>>>>>>>>> This means that a VTK that is built with (for example) Xcode 6
>>>>>>>>>>> and its SDKs becomes linked to AGL, because AGL.framework is present in
>>>>>>>>>>> those older SDKs.  It's a private link, though, so I'm surprised that it
>>>>>>>>>>> would cause the error.  But you are building with Xcode 7 and you are
>>>>>>>>>>> seeing an error... that much is indisputable.
>>>>>>>>>>>
>>>>>>>>>>> I suggest that you enable verbose error reporting so that you
>>>>>>>>>>> can see exactly what is being linked when the error occurs:
>>>>>>>>>>>
>>>>>>>>>>> export VERBOSE=1
>>>>>>>>>>> make
>>>>>>>>>>> ...
>>>>>>>>>>>
>>>>>>>>>>> Use "unset VERBOSE" to turn off the verbosity.
>>>>>>>>>>>
>>>>>>>>>>>  - David
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Dec 11, 2015 at 3:57 PM, Arno Klein <
>>>>>>>>>>> binarybottle at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I tried again, and am still getting the AGL.framework error
>>>>>>>>>>>> even when I set to 10.9 and the SDK to 10.11 (see:
>>>>>>>>>>>> https://github.com/nipy/mindboggle/blob/master/surface_cpp_tools/CMakeLists.txt
>>>>>>>>>>>> ):
>>>>>>>>>>>>
>>>>>>>>>>>> > [ 57%] Building CXX object
>>>>>>>>>>>> travel_depth/CMakeFiles/TravelDepthMain.dir/TravelDepthMain.cpp.o
>>>>>>>>>>>> > make[2]: *** No rule to make target
>>>>>>>>>>>> `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/AGL.framework',
>>>>>>>>>>>> needed by `travel_depth/TravelDepthMain'.  Stop.
>>>>>>>>>>>> > make[1]: ***
>>>>>>>>>>>> [travel_depth/CMakeFiles/TravelDepthMain.dir/all] Error 2
>>>>>>>>>>>> > make: *** [all] Error 2
>>>>>>>>>>>>
>>>>>>>>>>>> Could you please tell me how to ensure that there are no calls
>>>>>>>>>>>> to Carbon APIs?
>>>>>>>>>>>>
>>>>>>>>>>>> By the way, I am tracking this as an issue on Github:
>>>>>>>>>>>> https://github.com/nipy/mindboggle/issues/69
>>>>>>>>>>>>
>>>>>>>>>>>> Cheers,
>>>>>>>>>>>> @rno
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Dec 11, 2015 at 5:27 AM, David Gobbi <
>>>>>>>>>>>> david.gobbi at gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Arno,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Using the macosx10.11 SDK is fine as long as it allows you to
>>>>>>>>>>>>> set this desired deployment target.  So if you are able to compile with the
>>>>>>>>>>>>> following settings, then the result should run on OS X 10.7:
>>>>>>>>>>>>>
>>>>>>>>>>>>> CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.7
>>>>>>>>>>>>> CMAKE_OSX_SYSROOT:STRING=macosx10.11
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm not sure how far back you can set the deployment target
>>>>>>>>>>>>> with this SDK, but if the 10.7 target doesn't compile, you can try 10.8 or
>>>>>>>>>>>>> 10.9.
>>>>>>>>>>>>>
>>>>>>>>>>>>> If if gives errors for the AGL.framework, then make sure that
>>>>>>>>>>>>> your code has no calls to Carbon APIs.
>>>>>>>>>>>>>
>>>>>>>>>>>>>  - David
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160107/3c62b0a4/attachment.html>


More information about the vtkusers mailing list