Why does Command Line Tools include an outdated 8.5 version of Tk framework? [closed]
I recently noticed that command line tools contain a pretty much dated version of Tk framework: 8.5
.
You can check this by going to /Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/Tk.framework/Versions/
. I wouldn't care unless this lib started to be linked against one of the GUI apps I am writing and I started getting the notorious message:
DEPRECATION WARNING: The system version of Tk is deprecated and may be removed in a future release. Please don't rely on it. Set TK_SILENCE_DEPRECATION=1 to suppress this warning.
The GUI now lacks icons and became laggy.
Why "started"? I've decided to switch from MacPorts to homebrew to give it a try (I am new to Mac). Apparently some paths got messed up which resulted in such weird behaviour.
So, does anyone know why they still package the old Tk version? Is it possible to just remove it manually?
Solution 1:
The point of deprecations is to include something for the sake of compatibility with old software, but mark it so that developers are aware that they should not create new dependencies on it, and that they should seek to remove the dependency from newer updates for their software.
There's not point in removing it it manually. If you want to use a newer version of Tk, you just install a newer version somewhere else and build against it.