On Jul 23, 2008, at 1:48 PM, Glynn Clements wrote:
Michael Barton wrote:
Something else to keep in mind. The header I posted is needed by Togl
I think. But I also think that it is 8.5 only.
Do you mean that the packages for earlier versions don't include
tkMacOSXInt.h? Togl definitely requires that header, so if it's only
available with 8.5, then your only choice is 8.5.
I misspoke. At least on my office computer, tkMacOSXInt.h is available
for both 8.4 and 8.5.
Which means that you have to link against 8.5.
I'm not sure how OSX handles shared library versions.
On Linux, a library named e.g. libtk.so will normally be a symlink to
the actual library, which will include the version number. The linker
embeds the versioned library name in the executable, and that is used
for locating the library at run time. The unversioned symlink is only
needed at compile time (and many distributions keep the symlink in the
-devel package, along with the headers).
There is a lot of that on the Mac too. In the frameworks structure,
there is a "current" folder, which is a symlink to one of (often)
several versions of a package.
The end result is that you can have multiple versions of a library
installed, and control which version is used at compile time (without
affecting the loading of libraries at run time) by changing the
unversioned symlink.
If OSX is similar, then you may just be able to delete the symlinks
for the older versions.
Alternatively, you could try changing the linking command in
visualization/nviz/src/Makefile, moving XTRA_LDFLAGS (which will
contain the --with-tcltk-libs= directory) to the beginning of the
command, so that it takes precedence over other directories (where the
8.4 libraries are presumably being found by accident).
You can either directly select the version folder you want (inside the
"Versions" folder) or change the symlink "Current" folder.
Michael
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev