EtymoIO / EvolvingGraphs.jl

Working with time-dependent networks in Julia
https://etymoio.github.io/EvolvingGraphs.jl/latest/
Other
52 stars 11 forks source link

Cannot install EvolvingGraphs on Julia 1.3.0 #24

Open rbirkelbach opened 4 years ago

rbirkelbach commented 4 years ago

Hi, I am interested to use your package, but the installation fails:

julia> Pkg.add("EvolvingGraphs")
ERROR: The following package names could not be resolved:
 * EvolvingGraphs (not found in project, manifest or registry)
Please specify by known `name=uuid`.
Stacktrace:
 [1] pkgerror(::String) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:113
 [2] #ensure_resolved#101(::Bool, ::typeof(Pkg.Types.ensure_resolved), ::Pkg.Types.EnvCache, ::Array{Pkg.Types.PackageSpec,1}) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:936
 [3] #ensure_resolved at ./none:0 [inlined]
 [4] #add#25(::Bool, ::Pkg.BinaryPlatforms.MacOS, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:97
 [5] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:72
 [6] #add#24 at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:69 [inlined]
 [7] add at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:69 [inlined]
 [8] #add#21 at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:67 [inlined]
 [9] add at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:67 [inlined]
 [10] #add#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::String) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:66
 [11] add(::String) at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:66
 [12] top-level scope at none:0
Julia Version 1.3.0
Commit 46ce4d7933 (2019-11-26 06:09 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.0.0)
  CPU: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
  JULIA_NUM_THREADS = 8
izzortsi commented 4 years ago

Welp, it seems that this package is not being maintained. I did install it, but it is failing to precompile anyway. I'm planning to give it a look and perhaps forking/fixing it. In any such case, firstly I'd suggest you to use ] to enter Pkg's REPL, and then using the add function, instead of using the older Pkg.add() interface. When working interactively, that proves itself to be more convenient. Within Pkg's REPL, you ought to try: (v1.3) pkg> add https://github.com/EtymoIO/EvolvingGraphs.jl.git It should install just fine. If you manage to successfully precompile it, please report back!

bovine3dom commented 4 years ago

The package hasn't been updated for Julia 1. The easiest way to fix it is to install Julia 0.7 which has deprecation warnings for things that were removed in 1.0 - https://julialang.org/downloads/oldreleases/#julia-v0.7.

Just git clone [this repo], cd [that folder], /path/to/julia0.7, ]dev . ]test EvolvingGraphs to get all the warnings. Then go through and fix them all :)

Edit: of course, if you just need to use the package and you aren't feeling charitable, you can install Julia 0.6, and the package will probably work there :)

izzortsi commented 4 years ago

Oh, hello @bovine3dom, thanks for the suggestion, I'll be looking into it right now. Have you given it some work, by the way? I'm intending to build upon this package and perhaps over Junet too. Both of them haven't been updated to julia 1 (and the last activity from their original developers were about 2 years ago). I was thinking, if I conclude I won't be needing everything from both, is it wrong if I just copy the bits of code I find useful, interface them and reference backwards? I mean, I know that's not actually up to you, but since we are here I thought I could use the opportunity to ask your opinion.

bovine3dom commented 4 years ago

I tried to import it, ran the tests and saw there were over 1,000 lines of output. I decided it probably wasn't worth my time given that I was just curious rather than needing to use the package :)

They're both MIT licensed, so you can use the code freely so long as you include copies of the licences. I would encourage you to contribute to LightGraphs.jl rather than resurrecting Junet, though, as you'll probably find your work will benefit more people.