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

Tk broken on 0.1.2? #23

Closed
vtjnash opened this issue May 15, 2013 · 7 comments
Closed

Tk broken on 0.1.2? #23

vtjnash opened this issue May 15, 2013 · 7 comments
Labels

Comments

@vtjnash
Copy link
Contributor

vtjnash commented May 15, 2013

I didn't delve much into this, but trying to get this working with Alan on his Mac, it seemed that the version of Tk currently in METADATA.jl is broken. (something about a parse error on line 97 of Tk.jl)

@JeffBezanson

@emaadmanzoor
Copy link

I think I'm facing the same issue. I'm running Julia 0.1.2 on OSX 10.8.3.

Here is my Julia command line log:

   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "help()" to list help topics
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.1.2+113667293.r7252
 _/ |\__'_|_|_|\__'_|  |  Commit 7252bb59ac (2013-03-30 23:23:59)
|__/                   |

julia> using Tk
objc[20312]: Class TKApplication is implemented in both /usr/lib/libtk.dylib and /Applications/Julia.app/Contents/Resources/julia/lib/libtk8.6.dylib. One of the two will be used. Which one is undefined.
objc[20312]: Class TKMenu is implemented in both /usr/lib/libtk.dylib and /Applications/Julia.app/Contents/Resources/julia/lib/libtk8.6.dylib. One of the two will be used. Which one is undefined.
objc[20312]: Class TKContentView is implemented in both /usr/lib/libtk.dylib and /Applications/Julia.app/Contents/Resources/julia/lib/libtk8.6.dylib. One of the two will be used. Which one is undefined.
objc[20312]: Class TKWindow is implemented in both /usr/lib/libtk.dylib and /Applications/Julia.app/Contents/Resources/julia/lib/libtk8.6.dylib. One of the two will be used. Which one is undefined.
Warning: Possible conflict in library symbol dcopy_
Warning: Possible conflict in library symbol dtrtrs_
Warning: Possible conflict in library symbol dsysv_
Warning: Possible conflict in library symbol dgesv_
Warning: Possible conflict in library symbol dgelsd_
Warning: Possible conflict in library symbol dgemv_
ERROR: ParseError("incomplete expression")
 in include_from_node1 at loading.jl:76
 in reload_path at loading.jl:96
 in require at loading.jl:48
at /Users/emaadm/.julia/Tk/src/Tk.jl:97

@emaadmanzoor
Copy link

The issue seems to be in this code (from Tk.jl:104), though Julia's stacktrace stops at Tk.jl:97:

path = "$(parent.path).jl_$(replace(kind, "::", "_"))$(ID)";

I'm a Julia newbie, so I'll just dump what she tells me about this code here:

julia> path = "$(parent.path).jl_$(replace(kind, "::", "_"))$(ID)";
ERROR: ParseError("incomplete expression")

Drilling down further points me to interpolated call to replace within the string:

julia> replace("path::ByteString", "::", "_")
"path_ByteString"

julia> kind = "path::ByteString"
"path::ByteString"

julia> mypath = "$(replace(kind, "::", "_"))"
ERROR: ParseError("incomplete expression")

I think this is due to the nested double-quote marks in the string.

@vtjnash
Copy link
Contributor Author

vtjnash commented May 16, 2013

That sounds right. I don't think support for nested strings was added until after the release of 0.1 (was JuliaLang/julia#2433)

@emaadmanzoor
Copy link

I was able to work around this for now by splitting up the path construction into 2 steps:

104         underscoredKind = replace(kind, "::", "_")
105         path = "$(parent.path).jl_$(underscoredKind)$(ID)"; ID += 1

It looks like Julia is planning to fix this nested-quotes issue in 0.2: JuliaLang/julia#455

@ViralBShah
Copy link
Collaborator

Do we need to do something about this on the 0.1.2 branch? I think there are too many plotting related issues in 0.1 and it may be best to focus on 0.2.

@vtjnash
Copy link
Contributor Author

vtjnash commented Jun 9, 2013

This should have been trivial to fix (the patch was posted above). There's no good reason to break an important package like this for all the Ubuntu users who want to try out julia, just to avoid committing the one line change.

@ViralBShah
Copy link
Collaborator

Yes. Totally agree. The key is to test on ubuntu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants