[vtkusers] OSX 10.6 TCL issue "libvtkRendering.5.4.dylib: GC capability mismatch" ( solution too )
David Gobbi
david.gobbi at gmail.com
Fri Mar 5 12:18:17 EST 2010
On Fri, Mar 5, 2010 at 10:05 AM, Sean McBride <sean at rogue-research.com> wrote:
> On 3/5/10 7:39 AM, David Gobbi said:
>
>>Just replying to myself: The -fobjc-gc flag setting is now in VTK cvs.
>
> Thanks for doing this David! But there is a problem. You have tested
> against the SDK version, but you should be testing against the
> deployment target. The difference is somewhat subtle. Here's a
> description (from some old list post) I kept in my notes:
>
> "The SDK you choose specifies the *maximum* version of the OS that you
> want to *use features from*. There is another build setting, the
> deployment target that specifies the *minimum* version of the OS that
> you want to *run on*.
>
> Any function that is supported on your Deployment target or earlier are
> hard linked (and your software won't load on earlier versions of the
> OS). Any functions that were introduced after your deployment target are
> weak linked. Any functions introduced after your SDK version are unavailable.
>
> Then any APIs that you use that were defined after your deployment
> target, but before your SDK version must be tested for availability
> before you call them, which is typically done by checking against NULL.
> If they are not available, you can't call them."
>
> So one could build VTK with the 10.6 SDK and a 10.4 deployment target.
> With your change, -fobjc-gc would be used and the resulting binary would
> not run on 10.4.
>
> To complicate matters, CMake's deployment target support is new... what
> is the minimum CMake version that VTK must support?
The CMakeLists.txt says the minimum cmake version is 2.6.3.
If people are building on 10.6 with a 10.4 deployment target, then
they can set the flag manually in their cmake cache.
David
More information about the vtkusers
mailing list