CurricularAnalytics / CurricularAnalytics.jl

CurricularAnalytics.jl is a toolbox for studying and analyzing academic program curricula.
GNU Affero General Public License v3.0
23 stars 19 forks source link

install fails on macos, julia 1.5 #125

Closed AshtonSBradley closed 3 years ago

AshtonSBradley commented 3 years ago

Looks like one of the dependencies has a problem

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.5.0 (2020-08-01)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

(@v1.5) pkg> add CurricularAnalytics
   Updating registry at `~/.julia/registries/General`
######################################################################## 100.0%
  Resolving package versions...
  Installed StatsBase ───────────── v0.32.2
  Installed ImageMagick ─────────── v0.7.9
  Installed CairoMakie ──────────── v0.1.3
  Installed Plots ───────────────── v0.28.4
  Installed Makie ───────────────── v0.9.3
  Installed Franklin ────────────── v0.10.58
  Installed PGFPlots ────────────── v3.2.1
  Installed TikzPictures ────────── v3.4.1
  Installed GR ──────────────────── v0.44.0
  Installed OrdinaryDiffEq ──────── v5.26.8
  Installed Discretizers ────────── v3.2.1
  Installed Pluto ───────────────── v0.16.1
  Installed libsodium_jll ───────── v1.0.19+0
  Installed Colors ──────────────── v0.11.2
  Installed DiskArrays ──────────── v0.2.12
  Installed ColorSchemes ────────── v3.15.0
  Installed DifferentialEquations ─ v6.6.0
  Installed Setfield ────────────── v0.8.0
  Installed Tectonic ────────────── v0.6.1
  Installed MultiScaleArrays ────── v1.5.0
  Installed SentinelArrays ──────── v1.3.7
  Installed ColorTypes ──────────── v0.9.1
  Installed DiffEqJump ──────────── v6.4.0
  Installed FFMPEG ──────────────── v0.2.4
  Installed StatsFuns ───────────── v0.9.7
  Installed ArrayLayouts ────────── v0.7.6
  Installed BandedMatrices ──────── v0.16.11
  Installed GeometryTypes ───────── v0.7.10
  Installed RecipesBase ─────────── v0.7.0
  Installed ImageQualityIndexes ─── v0.1.4
  Installed SteadyStateDiffEq ───── v1.6.0
  Installed Graphics ────────────── v1.1.1
  Installed FreeTypeAbstraction ─── v0.6.5
  Installed Sundials ────────────── v3.8.3
  Installed TOML ────────────────── v1.0.3
  Installed Parsers ─────────────── v1.1.2
  Installed StochasticDiffEq ────── v6.4.0
  Installed GenericSVD ──────────── v0.2.2
  Installed PlotUtils ───────────── v0.6.5
  Installed Images ──────────────── v0.22.5
  Installed ChainRulesCore ──────── v1.7.0
  Installed DiffEqDiffTools ─────── v1.7.0
  Installed InitialValues ───────── v0.2.11
  Installed LazyArrays ──────────── v0.21.20
  Installed Roots ───────────────── v0.8.4
  Installed MappedArrays ────────── v0.2.2
  Installed Libiconv_jll ────────── v1.16.0+8
  Installed Widgets ─────────────── v0.6.4
  Installed SpecialFunctions ────── v1.7.0
  Installed AbstractPlotting ────── v0.9.25
  Installed HTTP ────────────────── v0.9.16
  Installed OpenLibm_jll ────────── v0.7.1+0
  Installed MeshIO ──────────────── v0.3.2
  Installed DiffEqBase ──────────── v6.10.0
  Installed PlotThemes ──────────── v1.0.3
  Installed AbstractNumbers ─────── v0.2.3
  Installed DelayDiffEq ─────────── v5.19.0
  Installed Packing ─────────────── v0.3.0
  Installed WebIO ───────────────── v0.8.16
  Installed RecursiveArrayTools ─── v1.2.1
  Installed GLMakie ─────────────── v0.0.17
  Installed RelocatableFolders ──── v0.1.1
  Installed DiffEqOperators ─────── v3.5.0
  Installed DiffEqCallbacks ─────── v2.10.0
  Installed IntervalSets ────────── v0.4.0
  Installed DiffEqNoiseProcess ──── v3.7.0
Downloading artifact: libsodium
ERROR: ArgumentError: Unsupported architecture 'aarch64' for macOS
Stacktrace:
 [1] MacOS at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/BinaryPlatforms.jl:144 [inlined]
 [2] unpack_platform(::Dict{String,Any}, ::String, ::String) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Artifacts.jl:429
 [3] (::Pkg.Artifacts.var"#21#22"{String,String})(::Dict{String,Any}) at ./none:0
 [4] iterate at ./generator.jl:47 [inlined]
 [5] Dict{Pkg.BinaryPlatforms.Platform,Dict{String,Any}}(::Base.Generator{Array{Dict{String,Any},1},Pkg.Artifacts.var"#21#22"{String,String}}) at ./dict.jl:103
 [6] artifact_meta(::String, ::Dict{String,Any}, ::String; platform::Pkg.BinaryPlatforms.Platform) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Artifacts.jl:553
 [7] ensure_all_artifacts_installed(::String; platform::Pkg.BinaryPlatforms.Platform, pkg_uuid::Nothing, include_lazy::Bool, verbose::Bool, quiet_download::Bool) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Artifacts.jl:951
 [8] download_artifacts(::Pkg.Types.Context, ::Array{String,1}; platform::Pkg.BinaryPlatforms.MacOS, verbose::Bool) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:656
 [9] download_artifacts(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; platform::Pkg.BinaryPlatforms.MacOS, verbose::Bool) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:635
 [10] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Array{Base.UUID,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.MacOS) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Operations.jl:1134
 [11] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}; preserve::Pkg.Types.PreserveLevel, platform::Pkg.BinaryPlatforms.MacOS, kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:189
 [12] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:140
 [13] #add#21 at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:67 [inlined]
 [14] add(::Array{Pkg.Types.PackageSpec,1}) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/API.jl:67
 [15] do_cmd!(::Pkg.REPLMode.Command, ::REPL.LineEditREPL) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/REPLMode/REPLMode.jl:404
 [16] do_cmd(::REPL.LineEditREPL, ::String; do_rethrow::Bool) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/REPLMode/REPLMode.jl:382
 [17] do_cmd at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/REPLMode/REPLMode.jl:377 [inlined]
 [18] (::Pkg.REPLMode.var"#24#27"{REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Pkg/src/REPLMode/REPLMode.jl:546
 [19] #invokelatest#1 at ./essentials.jl:710 [inlined]
 [20] invokelatest at ./essentials.jl:709 [inlined]
 [21] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/REPL/src/LineEdit.jl:2355
 [22] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:1143
 [23] (::REPL.var"#38#42"{REPL.LineEditREPL,REPL.REPLBackendRef})() at ./task.jl:356

(@v1.5) pkg> 
AshtonSBradley commented 3 years ago

Trying julia 1.6, I get an issue with the project.toml

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.1 (2021-04-23)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using CurricularAnalytics
[ Info: Precompiling CurricularAnalytics [593ffa3d-269e-5d81-88bc-c3b6809c35a6]
ERROR: LoadError: ArgumentError: Package CurricularAnalytics does not have LightGraphs in its dependencies:
- If you have CurricularAnalytics checked out for development and have
  added LightGraphs as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with CurricularAnalytics
Stacktrace:
 [1] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:884
 [2] include
   @ ./Base.jl:386 [inlined]
 [3] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
   @ Base ./loading.jl:1213
 [4] top-level scope
   @ none:1
 [5] eval
   @ ./boot.jl:360 [inlined]
 [6] eval(x::Expr)
   @ Base.MainInclude ./client.jl:446
 [7] top-level scope
   @ none:1
in expression starting at /Users/abradley/.julia/packages/CurricularAnalytics/526jF/src/CurricularAnalytics.jl:1
ERROR: Failed to precompile CurricularAnalytics [593ffa3d-269e-5d81-88bc-c3b6809c35a6] to /Users/abradley/.julia/compiled/v1.6/CurricularAnalytics/jl_1EPaqi.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1360
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1306
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1021
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:914
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:901
haydenfree commented 3 years ago

With Julia 1.5:

Downloading artifact: libsodium
ERROR: ArgumentError: Unsupported architecture 'aarch64' for macOS

Are you using a mac with an M1 chip? I suspect the issue is related to a dependency not supporting the architecture for that chip. I took a quick look and apparently Julia 1.5.2 is immune to that error? It might rely on us updating the deps using 1.5.2 though. See https://discourse.julialang.org/t/unsupported-architecture/48786

For the second error I'm not so sure what is going on. LightGraphs is in the deps: https://github.com/CurricularAnalytics/CurricularAnalytics.jl/blob/a46afde1bfad3c5cf57c945a963fe012ca4b52c6/Project.toml#L12

Did you try removing the package and adding it fresh as you swapped versions? I can't recall if julia scopes your local packages by version.

AshtonSBradley commented 3 years ago

Intel chip

AshtonSBradley commented 3 years ago

each julia version has its own environment, so packages are separate for different julia verions

AshtonSBradley commented 3 years ago

ok, I think there is something corrupted on my desktop. Install goes fine on my laptop with 1.5.3. Closing