[vtkusers] Migration to VTK6

David Gobbi david.gobbi at gmail.com
Wed Jan 6 20:48:51 EST 2016


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/20160106/539d2966/attachment.html>


More information about the vtkusers mailing list