Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems with system Tcl/Tk 8.5 on Mac OS X #52

Closed
rsrock opened this issue Jul 24, 2013 · 10 comments
Closed

Problems with system Tcl/Tk 8.5 on Mac OS X #52

rsrock opened this issue Jul 24, 2013 · 10 comments

Comments

@rsrock
Copy link
Contributor

rsrock commented Jul 24, 2013

  1. set_enabled() fails with the following:
2013-07-24 10:00:11.971 julia[17209:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 

2013-07-24 10:00:11.972 julia[17209:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 

2013-07-24 10:00:20.764 julia[17209:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme: 

2013-07-24 10:00:20.765 julia[17209:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme:

This blocks some of the function of @timholy's ImageView package.

  1. Sliders sometimes lose their knobs. Not entirely sure that this is related to the libraries, because the problem is not yet reproducible.

Using the homebrew tcl-tk (8.6, with quartz) by adding this (push!(DL_LOAD_PATH, "/usr/local/opt/tcl-tk/lib")) to my .juliarc.jl helps with (1), and sometimes (2). I think the inconsistent issue with (2) is related to these error messages (esp. "which one is undefined") when I use the homebrew Tk.

objc[20110]: Class TKApplication is implemented in both /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk and /usr/local/opt/tcl-tk/lib/libtk8.6.dylib. One of the two will be used. Which one is undefined.
objc[20110]: Class TKMenu is implemented in both /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk and /usr/local/opt/tcl-tk/lib/libtk8.6.dylib. One of the two will be used. Which one is undefined.
objc[20110]: Class TKContentView is implemented in both /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk and /usr/local/opt/tcl-tk/lib/libtk8.6.dylib. One of the two will be used. Which one is undefined.
objc[20110]: Class TKWindow is implemented in both /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk and /usr/local/opt/tcl-tk/lib/libtk8.6.dylib. One of the two will be used. Which one is undefined.

Question for @ViralBShah or @vtjnash : how do I completely disable the system Tcl/Tk, and use only the homebrew version? All of this wasn't happening at the end of last week.

@vtjnash
Copy link
Contributor

vtjnash commented Jul 24, 2013

probably JuliaLang/julia#3794

@ViralBShah
Copy link
Collaborator

@vtjnash Does this suggest that system Tcl/Tk is not good enough, and that we should just revert back to the original solution of bundling Tcl/Tk? I would be ok with that and setting TK_LIBRARY in Tk.jl.

@ViralBShah
Copy link
Collaborator

Also cc: @staticfloat

@staticfloat
Copy link
Contributor

I have no idea what our Tk code looks like, but this SO answer is the only one that doesn't say "Just upgrade to 8.6". I'm a little confused why all these Tk/Tcl errors are popping up after everything seemed to be "working", but perhaps that's just because we hadn't tested on a large enough install base.

I would also be okay with bundling Tcl/Tk.

@ViralBShah
Copy link
Collaborator

@rsrock It would be good to verify that the OS X 8.5 Tcl/Tk does not have this issue, and we indeed need our own Tcl/Tk to fix it. Could you say move the other installation temporarily to a different location like /tmp where it won't be found and try the experiment again? If we need 8.6, I will revert my changes to use the system Tcl/Tk on OS X.

@rsrock
Copy link
Contributor Author

rsrock commented Jul 25, 2013

I don't think I can disable all the other installs of Tcl/Tk on my system (R installs 8.5 in /usr/local/lib, for example). I can verify which library is being used, however.

This one works, and matches what I have set in my .juliarc.jl

± lsof -p $(pgrep julia) | grep tk
julia-rel 97265 rrock  txt      REG                1,4    1417320  8933664 /usr/local/Cellar/tcl-tk/8.6.0/lib/libtk8.6.dylib
julia-rel 97265 rrock  txt      REG                1,4    1400132  8930834 /usr/local/Cellar/tcl-tk/8.6.0/lib/libtcl8.6.dylib

And this one has the problem:

± lsof -p $(pgrep julia) | grep Tk
julia-rel 25038 rrock  txt      REG                1,4   2450416   269005 /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk
julia-rel 25038 rrock  txt      REG                1,4    154497   268989 /System/Library/Frameworks/Tk.framework/Versions/8.5/Resources/Tk.icns

@ViralBShah
Copy link
Collaborator

Ok. We should revert the framework patch then in base.

@vtjnash
Copy link
Contributor

vtjnash commented Jul 28, 2013

the second issue is now fixed (the problem with using non-system Tk). I can't tell what is generating the first issue
2013-07-24 10:00:11.971 julia[17209:707] CFURLCopyResourcePropertyForKey failed because it was passed this URL which has no scheme:

@lindahua
Copy link

The Tk package works well until very recently.

Today, I did a Pkg.update(), and run into the following problem (when it updates Tk)

checking for Tcl configuration... found /System/Library/Frameworks/Tcl.framework/tclConfig.sh
checking for existence of /System/Library/Frameworks/Tcl.framework/tclConfig.sh... loading
configure: error: tk 8.6 requires Tcl 8.6+
Found config for Tcl 8.5
WARNING: An exception occured while building binary dependencies.
You may have to take manual steps to complete the installation, see the error message below.
To reattempt the installation, run Pkg.fixup("Tk").
...

My guess is that this failure was after the commit 23588a4.

@aviks
Copy link
Collaborator

aviks commented Feb 5, 2020

All of this goes away with #148

@aviks aviks closed this as completed Feb 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants