[vtkusers] Migration to VTK6

Arno Klein binarybottle at gmail.com
Wed Jan 6 21:19:38 EST 2016


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/20160106/330c048b/attachment.html>


More information about the vtkusers mailing list