Error loading a package

hello.

Today I’ve installed the package
https://github.com/weijianzhang/EvolvingGraphs.jl

The installation didn’t generate any error message.

But When I try to load it I get this error:

using EvolvingGraphs

WARNING: could not import Base.slice into EvolvingGraphs

WARNING: deprecated syntax "abstract AbstractGraph{V,T,E}" at C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\base.jl:9.
Use "abstract type AbstractGraph{V,T,E} end" instead.

WARNING: deprecated syntax "abstract AbstractEvolvingGraph{V,T,E}<:AbstractGraph{V,T,E}" at C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\base.jl:10.
Use "abstract type AbstractEvolvingGraph{V,T,E}<:AbstractGraph{V,T,E} end" instead.

WARNING: deprecated syntax "abstract AbstractStaticGraph{V,E}<:AbstractGraph{V,E}" at C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\base.jl:11.
Use "abstract type AbstractStaticGraph{V,E}<:AbstractGraph{V,E} end" instead.

WARNING: deprecated syntax "abstract AbstractPath" at C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\base.jl:19.
Use "abstract type AbstractPath end" instead.

WARNING: deprecated syntax "typealias NodeType{V} Union{Node{V},AttributeNode{V},TimeNode{V}}" at C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\base.jl:84.
Use "NodeType{V} = Union{Node{V},AttributeNode{V},TimeNode{V}}" instead.

WARNING: deprecated syntax "typealias NodeVector{V} Vector{Node{V}}" at C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\base.jl:87.
Use "NodeVector{V} = Vector{Node{V}}" instead.

WARNING: deprecated syntax "typealias EdgeType{V} Union{Edge{V},TimeEdge{V},WeightedTimeEdge{V}}" at C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\base.jl:137.
Use "EdgeType{V} = Union{Edge{V},TimeEdge{V},WeightedTimeEdge{V}}" instead.
LoadError: LoadError: invalid subtyping in definition of AbstractStaticGraph
while loading C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\base.jl, in expression starting on line 10
while loading C:\Users\JOE\.julia\v0.6\EvolvingGraphs\src\EvolvingGraphs.jl, in expression starting on line 45

Stacktrace:
 [1] include_from_node1(::String) at .\loading.jl:569
 [2] include(::String) at .\sysimg.jl:14
 [3] include_from_node1(::String) at .\loading.jl:569
 [4] eval(::Module, ::Any) at .\boot.jl:235
 [5] _require(::Symbol) at .\loading.jl:483
 [6] require(::Symbol) at .\loading.jl:398

Checking if there is an existing issue on github and opening one if there isn’t may be the quickest way to a fix, unless the author is reading this forum.

The warnings are there because of a few key syntax changes that were made to Julia:

immutable -> struct
type -> mutable struct
abstract -> abstract type
typealias -> const ALIAS = ORIG

(To name a few. -see https://github.com/JuliaLang/julia/blob/v0.6.0/NEWS.md for more info).

The package was written for Julia v0.5 (or earlier) - and the previous syntax is will only be “compatible” (with warnings) for a few versions (actually, I think it will no longer be supported in v0.7).

Like @Tamas_Papp says: you might want to raise the issue on the EvolvingGraphs.jl GitHub page…

…you could also try using this package from a Julia v0.5 installation if you don’t want to wait for the fix.

1 Like

OK, I’ve raisen an issue on the EvolvingGraphs.jl GitHub page.