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

Loading PlotlyJS fails on Julia V0.5-rc1 #62

Closed
asbisen opened this issue Aug 5, 2016 · 6 comments
Closed

Loading PlotlyJS fails on Julia V0.5-rc1 #62

asbisen opened this issue Aug 5, 2016 · 6 comments

Comments

@asbisen
Copy link

asbisen commented Aug 5, 2016

I am able to Pkg.add(PlotlyJS) but loading it fails

./julia                                                                                                                 julia-dev/git/tags/v0.5.0-rc1 
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.0-rc1+0 (2016-08-04 08:48 UTC)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |  x86_64-apple-darwin15.6.0

julia> using PlotlyJS
WARNING: symbol is deprecated, use Symbol instead.
 in depwarn(::String, ::Symbol) at ./deprecated.jl:64
 in symbol(::SubString{String}, ::Vararg{SubString{String},N}) at ./deprecated.jl:30
 in bname(::Symbol) at /Users/abisen/.julia/v0.5/MacroTools/src/match.jl:17
 in match(::Symbol, ::Symbol, ::Dict{Any,Any}) at /Users/abisen/.julia/v0.5/MacroTools/src/match.jl:86
 in match_inner(::Expr, ::Expr, ::Dict{Any,Any}) at /Users/abisen/.julia/v0.5/MacroTools/src/match.jl:63
 in match(::Expr, ::Expr, ::Dict{Any,Any}) at /Users/abisen/.julia/v0.5/MacroTools/src/match.jl:89
 in match_inner(::Expr, ::Expr, ::Dict{Any,Any}) at /Users/abisen/.julia/v0.5/MacroTools/src/match.jl:63
 in match(::Expr, ::Expr, ::Dict{Any,Any}) at /Users/abisen/.julia/v0.5/MacroTools/src/match.jl:89
 in trymatch(::Expr, ::Expr) at /Users/abisen/.julia/v0.5/MacroTools/src/match.jl:105
 in macro expansion at /Users/abisen/.julia/v0.5/MacroTools/src/macro.jl:29 [inlined]
 in (::MacroTools.##21#22)(::Expr) at /Users/abisen/.julia/v0.5/MacroTools/src/utils.jl:91
 in prewalk(::MacroTools.##21#22, ::Expr) at /Users/abisen/.julia/v0.5/MacroTools/src/utils.jl:62
 in shortdef(::Expr) at /Users/abisen/.julia/v0.5/MacroTools/src/utils.jl:90
 in macro expansion at /Users/abisen/.julia/v0.5/MacroTools/src/macro.jl:57 [inlined]
 in @hook(::Any) at /Users/abisen/.julia/v0.5/Requires/src/hook.jl:4
 in macro expansion at /Users/abisen/.julia/v0.5/Requires/src/require.jl:9 [inlined]
 in (::Requires.##8#9)() at /Users/abisen/.julia/v0.5/Requires/src/init.jl:17
 in __init__() at /Users/abisen/.julia/v0.5/Requires/src/init.jl:24
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:174
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in stale_cachefile(::String, ::String) at ./loading.jl:562
 in recompile_stale(::Symbol, ::String) at ./loading.jl:579
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:173
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in include_from_node1(::String) at ./loading.jl:426
 in eval(::Module, ::Any) at ./boot.jl:234
 in require(::Symbol) at ./loading.jl:357
 in eval(::Module, ::Any) at ./boot.jl:234
 in eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:64
 in macro expansion at ./REPL.jl:95 [inlined]
 in (::Base.REPL.##3#4{Base.REPL.REPLBackend})() at ./event.jl:46
while loading /Users/abisen/.julia/v0.5/PlotlyJS/src/PlotlyJS.jl, in expression starting on line 5
ERROR: LoadError: InitError: type Method has no field func
 in macro expansion at /Users/abisen/.julia/v0.5/Requires/src/require.jl:9 [inlined]
 in (::Requires.##8#9)() at /Users/abisen/.julia/v0.5/Requires/src/init.jl:17
 in __init__() at /Users/abisen/.julia/v0.5/Requires/src/init.jl:24
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:174
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in stale_cachefile(::String, ::String) at ./loading.jl:562
 in recompile_stale(::Symbol, ::String) at ./loading.jl:579
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:173
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
 in include_from_node1(::String) at ./loading.jl:426
 in eval(::Module, ::Any) at ./boot.jl:234
 in require(::Symbol) at ./loading.jl:357
during initialization of module Requires
while loading /Users/abisen/.julia/v0.5/PlotlyJS/src/PlotlyJS.jl, in expression starting on line 5

julia> 
@sglyon
Copy link
Member

sglyon commented Aug 6, 2016

Hey @asbisen I have PlotlyJS working on my Julia 0.5, but I have many packages checked out to their master versions, not the latest release.

I think the problem here is with the Requires.jl package. Maybe you can try Pkg.checkout("Requires") and then try again. If that doesn't fully solve the problem it is very likely that other packages should be checked out too, but we'll only be able to know that one package at a time.

If we can work together to get a list of packages that need to be checked out we can make sure new releases of those packages are tagged so other users don't have to do this when they switch to 0.5.

@asbisen
Copy link
Author

asbisen commented Aug 6, 2016

Richt now it seems to be an issue with Requires.jl. Unfortunately even on a fresh ~/.julia/ I cannot make Requires work.

abisen➜~/opt/julia-dev(cede539)» ./julia                                                                                                                                              [12:22:47]
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.0-rc1+0 (2016-08-04 08:48 UTC)
 _/ |\__'_|_|_|\__'_|  |  
|__/                   |  x86_64-apple-darwin15.6.0

julia> Pkg.add("Requires")
INFO: Initializing package repository /Users/abisen/.julia/v0.5
INFO: Cloning METADATA from https://github.com/JuliaLang/METADATA.jl
INFO: Installing MacroTools v0.3.0
INFO: Installing Requires v0.2.2
INFO: Package database updated

julia> using Requires
INFO: Precompiling module Requires...
WARNING: symbol is deprecated, use Symbol instead.
.
.
WARNING: symbol is deprecated, use Symbol instead.
.
.
WARNING: symbol is deprecated, use Symbol instead.
.
.
WARNING: symbol is deprecated, use Symbol instead.
.
.
WARNING: symbol is deprecated, use Symbol instead.
.
.
WARNING: symbol is deprecated, use Symbol instead.
 .
.
ERROR: InitError: type Method has no field func
 in macro expansion at /Users/abisen/.julia/v0.5/Requires/src/require.jl:9 [inlined]
 in (::Requires.##8#9)() at /Users/abisen/.julia/v0.5/Requires/src/init.jl:17
 in __init__() at /Users/abisen/.julia/v0.5/Requires/src/init.jl:24
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:174
 in require(::Symbol) at ./loading.jl:365
during initialization of module Requires

Then after checking out the master

julia> Pkg.checkout("Requires")
INFO: Checking out Requires master...
INFO: Pulling Requires latest master...
WARNING: Cannot perform fast-forward merge.
INFO: No packages to install, update or remove

julia> using Requires
INFO: Recompiling stale cache file /Users/abisen/.julia/lib/v0.5/Requires.ji for module Requires.
.
.
ERROR: InitError: type Method has no field func
 in macro expansion at /Users/abisen/.julia/v0.5/Requires/src/require.jl:9 [inlined]
 in (::Requires.##8#9)() at /Users/abisen/.julia/v0.5/Requires/src/init.jl:17
 in __init__() at /Users/abisen/.julia/v0.5/Requires/src/init.jl:24
 in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:174
 in _require_from_serialized(::Int64, ::Symbol, ::Bool) at ./loading.jl:202
 in require(::Symbol) at ./loading.jl:332
during initialization of module Requires

@asbisen
Copy link
Author

asbisen commented Aug 6, 2016

The issue is related to an open issue in Requires.jl Issue #24

@asbisen
Copy link
Author

asbisen commented Aug 7, 2016

So the problem was resolved once i was able to checkout master for Requires. The issue is that from inside REPL performing Pkg.checkout("Requires") was failing

julia> Pkg.checkout("Requires")
INFO: Checking out Requires master...
INFO: Pulling Requires latest master...
WARNING: Cannot perform fast-forward merge.
INFO: No packages to install, update or remove

but I was able to perform a manual merge by visiting ~/.julia/v0.5/Requires and performing git pull

@sglyon
Copy link
Member

sglyon commented Aug 23, 2016

@asbisen can this be closed now?

@asbisen
Copy link
Author

asbisen commented Aug 23, 2016

I did check this again in Julia 0.5.0-rc2 by performing Pkg.free() for PlotlyJS and Requires and can confirm that I was able to load the module and plot a chart.

So yes we can close this.

@asbisen asbisen closed this as completed Aug 23, 2016
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

2 participants