[vtkusers] Migration to VTK6

David Gobbi david.gobbi at gmail.com
Thu Jan 7 15:16:35 EST 2016


It is not the same directory.  FindOpenGL.cmake is part of cmake, but
vtkOpenGL.cmake is part of VTK.

On Thu, Jan 7, 2016 at 12:50 PM, Arno Klein <binarybottle at gmail.com> wrote:

> If that is the same directory that FindOpenGL.cmake is in, then the path I
> sent should be correct, yes?  I installed cmake using Anaconda: "conda
> install --yes cmake"
>
> On Thu, Jan 7, 2016 at 12:15 PM David Gobbi <david.gobbi at gmail.com> wrote:
>
>> Hi Arno,
>>
>> My fault, I should have mentioned that it needs to be in
>> <vtk-source>/CMake/vtkOpenGL.cmake in order be used during the VTK build.
>>
>>  - David
>>
>> On Thu, Jan 7, 2016 at 9:59 AM, Arno Klein <binarybottle at gmail.com>
>> wrote:
>>
>>> 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/b97cebd5/attachment.html>


More information about the vtkusers mailing list