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

Add M1 support #235

Closed
JinraeKim opened this issue Dec 1, 2021 · 14 comments · Fixed by #221
Closed

Add M1 support #235

JinraeKim opened this issue Dec 1, 2021 · 14 comments · Fixed by #221

Comments

@JinraeKim
Copy link

JinraeKim commented Dec 1, 2021

I was trying to install SCS.jl on Julia 1.7 but it gave me an error.
Note: ParametrisedConvexApproximators is my own package.

(ParametrisedConvexApproximators) pkg> add SCS
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
    Updating `~/.julia/dev/ParametrisedConvexApproximators/Project.toml`
  [c946c3f1] + SCS v0.8.1
    Updating `~/.julia/dev/ParametrisedConvexApproximators/Manifest.toml`
  [b99e7846] + BinaryProvider v0.5.10
  [c946c3f1] + SCS v0.8.1
  [af6e375f] + SCS_GPU_jll v2.1.4+0
  [f4f2fc5b] + SCS_jll v2.1.2+1
Precompiling project...
  ✗ ParametrisedConvexApproximators
  0 dependencies successfully precompiled in 7 seconds (170 already precompiled, 2 skipped during auto due to previous errors)
  1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package

(ParametrisedConvexApproximators) pkg> precompile
Precompiling project...
  ✗ BinaryProvider
  ✗ SCS
  ✗ ParametrisedConvexApproximators
  0 dependencies successfully precompiled in 9 seconds (170 already precompiled)

ERROR: The following 2 direct dependencies failed to precompile:

ParametrisedConvexApproximators [668502ff-1e8f-42bf-95c7-24f1e819f537]

Failed to precompile ParametrisedConvexApproximators [668502ff-1e8f-42bf-95c7-24f1e819f537] to /Users/jinrae/.julia/compiled/v1.7/ParametrisedConvexApproximators/jl_bnpafy.
ERROR: LoadError: UndefVarError: libscsindir not defined
Stacktrace:
 [1] getproperty(x::Module, f::Symbol)
   @ Base ./Base.jl:35
 [2] top-level scope
   @ ~/.julia/packages/SCS/Rf470/src/SCS.jl:27
 [3] include
   @ ./Base.jl:418 [inlined]
 [4] 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::String)
   @ Base ./loading.jl:1318
 [5] top-level scope
   @ none:1
 [6] eval
   @ ./boot.jl:373 [inlined]
 [7] eval(x::Expr)
   @ Base.MainInclude ./client.jl:453
 [8] top-level scope
   @ none:1
in expression starting at /Users/jinrae/.julia/packages/SCS/Rf470/src/SCS.jl:1
ERROR: LoadError: Failed to precompile SCS [c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13] to /Users/jinrae/.julia/compiled/v1.7/SCS/jl_efF0QG.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:33
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
    @ Base ./loading.jl:1466
  [3] compilecache(pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1410
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1120
  [5] require(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1013
  [6] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:997
  [7] include
    @ ./Base.jl:418 [inlined]
  [8] 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:1318
  [9] top-level scope
    @ none:1
 [10] eval
    @ ./boot.jl:373 [inlined]
 [11] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [12] top-level scope
    @ none:1
in expression starting at /Users/jinrae/.julia/dev/ParametrisedConvexApproximators/src/ParametrisedConvexApproximators.jl:1

SCS [c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13]

Failed to precompile SCS [c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13] to /Users/jinrae/.julia/compiled/v1.7/SCS/jl_0jXoM6.
ERROR: LoadError: UndefVarError: libscsindir not defined
Stacktrace:
 [1] getproperty(x::Module, f::Symbol)
   @ Base ./Base.jl:35
 [2] top-level scope
   @ ~/.julia/packages/SCS/Rf470/src/SCS.jl:27
 [3] include
   @ ./Base.jl:418 [inlined]
 [4] 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:1318
 [5] top-level scope
   @ none:1
 [6] eval
   @ ./boot.jl:373 [inlined]
 [7] eval(x::Expr)
   @ Base.MainInclude ./client.jl:453
 [8] top-level scope
   @ none:1
in expression starting at /Users/jinrae/.julia/packages/SCS/Rf470/src/SCS.jl:1
@JinraeKim
Copy link
Author

Note: this installation failure also occurred in a new project environment (which is nearly empty).

@kalmarek kalmarek changed the title not installed on Julia 1.7 julia-1.7 pulls SCS_jll-2.1.2 due to OpenBLAS dep Dec 1, 2021
@kalmarek
Copy link
Collaborator

kalmarek commented Dec 1, 2021

[...]
  [c946c3f1] + SCS v0.8.1
  [af6e375f] + SCS_GPU_jll v2.1.4+0
  [f4f2fc5b] + SCS_jll v2.1.2+1

on julia-1.7 SCS pulls wrong version of SCS_jll (last version where we didn't constrain OpenBLAS?)

(jl_J4FmnI) pkg> add SCS_jll@2.1.4
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package OpenBLAS_jll [4536629a]:
 OpenBLAS_jll [4536629a] log:
 ├─possible versions are: 0.3.13 or uninstalled
 └─found to have no compatible versions left with SCS_jll [f4f2fc5b]
   └─SCS_jll [f4f2fc5b] log:
     ├─possible versions are: 2.1.1-3.0.0 or uninstalled
     └─restricted to versions 2.1.4 by an explicit requirement, leaving only versions 2.1.4

@kalmarek
Copy link
Collaborator

kalmarek commented Dec 1, 2021

so for me SCS installs just fine, @JinraeKim try with

julia -i -e "using Pkg; Pkg.activate(; temp=true); Pkg.add(\"SCS\"); Pkg.test(\"SCS\");"

I get an in MOI interface though @blegat

test_attribute_SolverVersion: Error During Test at /home/kalmar/.julia/packages/MathOptInterface/eoIu0/src/Test/Test.jl:434
  Test threw exception
  Expression: MOI.get(model, attribute) isa T
  ArgumentError: SCS.Optimizer does not support getting the attribute MathOptInterface.SolverVersion().
  Stacktrace:
   [1] get_fallback(model::SCS.Optimizer, attr::MathOptInterface.SolverVersion)
     @ MathOptInterface ~/.julia/packages/MathOptInterface/eoIu0/src/attributes.jl:337
   [2] get(::SCS.Optimizer, ::MathOptInterface.SolverVersion)
     @ MathOptInterface ~/.julia/packages/MathOptInterface/eoIu0/src/attributes.jl:330
   [3] get(model::MathOptInterface.Utilities.CachingOptimizer{SCS.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}, attr::MathOptInterface.SolverVersion)
     @ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/eoIu0/src/Utilities/cachingoptimizer.jl:996
   [4] get(b::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{SCS.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, attr::MathOptInterface.SolverVersion)
     @ MathOptInterface.Bridges ~/.julia/packages/MathOptInterface/eoIu0/src/Bridges/bridge_optimizer.jl:815
   [5] macro expansion
     @ /opt/julias/julia-1.7/share/julia/stdlib/v1.7/Test/src/Test.jl:445 [inlined]
   [6] _test_attribute_value_type(model::MathOptInterface.Bridges.LazyBridgeOptimizer{MathOptInterface.Utilities.CachingOptimizer{SCS.Optimizer, MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}}, attribute::MathOptInterface.SolverVersion)
     @ MathOptInterface.Test ~/.julia/packages/MathOptInterface/eoIu0/src/Test/Test.jl:434

@JinraeKim
Copy link
Author

so for me SCS installs just fine, @JinraeKim try with

julia -i -e "using Pkg; Pkg.activate(; temp=true); Pkg.add(\"SCS\"); Pkg.test(\"SCS\");"

I don't exactly get it, but it seems that activating a temporary environment and adding & testing SCS.jl, right?
Note that I installed Julia 1.7 for M1 Mac Silicon.

  • Result
➜ julia -i -e "using Pkg; Pkg.activate(; temp=true); Pkg.add(\"SCS\"); Pkg.test(\"SCS\");"

  Activating project at `~/.julia/dev/ParametrisedConvexApproximators`
  Activating new project at `/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_nmun9z`
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
    Updating `/private/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_nmun9z/Project.toml`
  [c946c3f1] + SCS v0.8.1
    Updating `/private/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_nmun9z/Manifest.toml`
  [6e4b80f9] + BenchmarkTools v1.2.0
  [b99e7846] + BinaryProvider v0.5.10
  [523fee87] + CodecBzip2 v0.7.2
  [944b1d66] + CodecZlib v0.7.0
  [692b3bcd] + JLLWrappers v1.3.0
  [682c06a0] + JSON v0.21.2
  [b8f27783] + MathOptInterface v0.10.6
  [d8a4904e] + MutableArithmetics v0.3.1
  [bac558e1] + OrderedCollections v1.4.1
  [69de0a69] + Parsers v2.1.2
  [21216c6a] + Preferences v1.2.2
  [ae029012] + Requires v1.1.3
  [c946c3f1] + SCS v0.8.1
  [3bb67fe8] + TranscodingStreams v0.9.6
  [6e34b625] + Bzip2_jll v1.0.8+0
  [af6e375f] + SCS_GPU_jll v2.1.4+0
  [f4f2fc5b] + SCS_jll v2.1.2+1
  [0dad84c5] + ArgTools
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [f43a241f] + Downloads
  [b77e0a4c] + InteractiveUtils
  [b27032c2] + LibCURL
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [ca575930] + NetworkOptions
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [9abbd945] + Profile
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [fa267f1f] + TOML
  [a4e569a6] + Tar
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll
  [deac9b47] + LibCURL_jll
  [29816b5a] + LibSSH2_jll
  [c8ffd9c3] + MbedTLS_jll
  [14a3606d] + MozillaCACerts_jll
  [4536629a] + OpenBLAS_jll
  [83775a58] + Zlib_jll
  [8e850b90] + libblastrampoline_jll
  [8e850ede] + nghttp2_jll
  [3f19e933] + p7zip_jll
Precompiling project...
  ✗ BinaryProvider
  ✗ SCS
  2 dependencies successfully precompiled in 24 seconds (19 already precompiled)
  2 dependencies errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the packages
     Testing SCS
      Status `/private/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_c4ulRw/Project.toml`
  [b99e7846] BinaryProvider v0.5.10
  [b8f27783] MathOptInterface v0.10.6
  [ae029012] Requires v1.1.3
  [c946c3f1] SCS v0.8.1
  [af6e375f] SCS_GPU_jll v2.1.4+0
  [f4f2fc5b] SCS_jll v2.1.2+1
  [8f399da3] Libdl `@stdlib/Libdl`
  [37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
  [44cfe95a] Pkg `@stdlib/Pkg`
  [2f01184e] SparseArrays `@stdlib/SparseArrays`
  [8dfed614] Test `@stdlib/Test`
      Status `/private/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_c4ulRw/Manifest.toml`
  [6e4b80f9] BenchmarkTools v1.2.0
  [b99e7846] BinaryProvider v0.5.10
  [523fee87] CodecBzip2 v0.7.2
  [944b1d66] CodecZlib v0.7.0
  [692b3bcd] JLLWrappers v1.3.0
  [682c06a0] JSON v0.21.2
  [b8f27783] MathOptInterface v0.10.6
  [d8a4904e] MutableArithmetics v0.3.1
  [bac558e1] OrderedCollections v1.4.1
  [69de0a69] Parsers v2.1.2
  [21216c6a] Preferences v1.2.2
  [ae029012] Requires v1.1.3
  [c946c3f1] SCS v0.8.1
  [3bb67fe8] TranscodingStreams v0.9.6
  [6e34b625] Bzip2_jll v1.0.8+0
  [af6e375f] SCS_GPU_jll v2.1.4+0
  [f4f2fc5b] SCS_jll v2.1.2+1
  [0dad84c5] ArgTools `@stdlib/ArgTools`
  [56f22d72] Artifacts `@stdlib/Artifacts`
  [2a0f44e3] Base64 `@stdlib/Base64`
  [ade2ca70] Dates `@stdlib/Dates`
  [f43a241f] Downloads `@stdlib/Downloads`
  [b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
  [b27032c2] LibCURL `@stdlib/LibCURL`
  [76f85450] LibGit2 `@stdlib/LibGit2`
  [8f399da3] Libdl `@stdlib/Libdl`
  [37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
  [56ddb016] Logging `@stdlib/Logging`
  [d6f4376e] Markdown `@stdlib/Markdown`
  [a63ad114] Mmap `@stdlib/Mmap`
  [ca575930] NetworkOptions `@stdlib/NetworkOptions`
  [44cfe95a] Pkg `@stdlib/Pkg`
  [de0858da] Printf `@stdlib/Printf`
  [9abbd945] Profile `@stdlib/Profile`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [ea8e919c] SHA `@stdlib/SHA`
  [9e88b42a] Serialization `@stdlib/Serialization`
  [6462fe0b] Sockets `@stdlib/Sockets`
  [2f01184e] SparseArrays `@stdlib/SparseArrays`
  [10745b16] Statistics `@stdlib/Statistics`
  [fa267f1f] TOML `@stdlib/TOML`
  [a4e569a6] Tar `@stdlib/Tar`
  [8dfed614] Test `@stdlib/Test`
  [cf7118a7] UUIDs `@stdlib/UUIDs`
  [4ec0a83e] Unicode `@stdlib/Unicode`
  [e66e0078] CompilerSupportLibraries_jll `@stdlib/CompilerSupportLibraries_jll`
  [deac9b47] LibCURL_jll `@stdlib/LibCURL_jll`
  [29816b5a] LibSSH2_jll `@stdlib/LibSSH2_jll`
  [c8ffd9c3] MbedTLS_jll `@stdlib/MbedTLS_jll`
  [14a3606d] MozillaCACerts_jll `@stdlib/MozillaCACerts_jll`
  [4536629a] OpenBLAS_jll `@stdlib/OpenBLAS_jll`
  [83775a58] Zlib_jll `@stdlib/Zlib_jll`
  [8e850b90] libblastrampoline_jll `@stdlib/libblastrampoline_jll`
  [8e850ede] nghttp2_jll `@stdlib/nghttp2_jll`
  [3f19e933] p7zip_jll `@stdlib/p7zip_jll`
Precompiling project...
  ✗ BinaryProvider
  ✗ SCS
  0 dependencies successfully precompiled in 2 seconds (21 already precompiled)
  2 dependencies errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the packages
     Testing Running tests...
ERROR: LoadError: UndefVarError: libscsindir not defined
Stacktrace:
 [1] getproperty(x::Module, f::Symbol)
   @ Base ./Base.jl:35
 [2] top-level scope
   @ ~/.julia/packages/SCS/Rf470/src/SCS.jl:27
 [3] include
   @ ./Base.jl:418 [inlined]
 [4] 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::String)
   @ Base ./loading.jl:1318
 [5] top-level scope
   @ none:1
 [6] eval
   @ ./boot.jl:373 [inlined]
 [7] eval(x::Expr)
   @ Base.MainInclude ./client.jl:453
 [8] top-level scope
   @ none:1
in expression starting at /Users/jinrae/.julia/packages/SCS/Rf470/src/SCS.jl:1
ERROR: LoadError: Failed to precompile SCS [c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13] to /Users/jinrae/.julia/compiled/v1.7/SCS/jl_ogZqpw.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1466
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1410
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1120
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997
 [7] include(fname::String)
   @ Base.MainInclude ./client.jl:451
 [8] top-level scope
   @ none:6
in expression starting at /Users/jinrae/.julia/packages/SCS/Rf470/test/runtests.jl:9
ERROR: Package SCS errored during testing
Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/Types.jl:68
  [2] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool)
    @ Pkg.Operations /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/Operations.jl:1672
  [3] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
    @ Pkg.API /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:421
  [4] test(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:149
  [5] test(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:144
  [6] #test#87
    @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:142 [inlined]
  [7] test
    @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:142 [inlined]
  [8] #test#86
    @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:141 [inlined]
  [9] test(pkg::String)
    @ Pkg.API /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:141
 [10] top-level scope
    @ none:1

@kalmarek
Copy link
Collaborator

kalmarek commented Dec 1, 2021

ok, then it's incompatibility of BinaryProvider with M1 Mac?

@JinraeKim
Copy link
Author

JinraeKim commented Dec 1, 2021

ok, then it's incompatibility of BinaryProvider with M1 Mac?

Yeah, it seems so.

➜  julia -i -e "using Pkg; Pkg.activate(; temp=true); Pkg.add(\"BinaryProvider\"); Pkg.test(\"BinaryProvider\");"

  Activating project at `~/.julia/dev/ParametrisedConvexApproximators`
  Activating new project at `/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_KVWr4g`
    Updating registry at `~/.julia/registries/General.toml`
   Resolving package versions...
    Updating `/private/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_KVWr4g/Project.toml`
  [b99e7846] + BinaryProvider v0.5.10
    Updating `/private/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_KVWr4g/Manifest.toml`
  [b99e7846] + BinaryProvider v0.5.10
  [8f399da3] + Libdl
  [56ddb016] + Logging
  [ea8e919c] + SHA
Precompiling project...
  ✗ BinaryProvider
  0 dependencies successfully precompiled in 1 seconds
  1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package
     Testing BinaryProvider
      Status `/private/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_gD0FJE/Project.toml`
  [b99e7846] BinaryProvider v0.5.10
  [8f399da3] Libdl `@stdlib/Libdl`
  [56ddb016] Logging `@stdlib/Logging`
  [44cfe95a] Pkg `@stdlib/Pkg`
  [ea8e919c] SHA `@stdlib/SHA`
  [8dfed614] Test `@stdlib/Test`
      Status `/private/var/folders/x2/f5hr113x39q4b4vl0hdxjpcc0000gn/T/jl_gD0FJE/Manifest.toml`
  [b99e7846] BinaryProvider v0.5.10
  [0dad84c5] ArgTools `@stdlib/ArgTools`
  [56f22d72] Artifacts `@stdlib/Artifacts`
  [2a0f44e3] Base64 `@stdlib/Base64`
  [ade2ca70] Dates `@stdlib/Dates`
  [f43a241f] Downloads `@stdlib/Downloads`
  [b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
  [b27032c2] LibCURL `@stdlib/LibCURL`
  [76f85450] LibGit2 `@stdlib/LibGit2`
  [8f399da3] Libdl `@stdlib/Libdl`
  [56ddb016] Logging `@stdlib/Logging`
  [d6f4376e] Markdown `@stdlib/Markdown`
  [ca575930] NetworkOptions `@stdlib/NetworkOptions`
  [44cfe95a] Pkg `@stdlib/Pkg`
  [de0858da] Printf `@stdlib/Printf`
  [3fa0cd96] REPL `@stdlib/REPL`
  [9a3f8284] Random `@stdlib/Random`
  [ea8e919c] SHA `@stdlib/SHA`
  [9e88b42a] Serialization `@stdlib/Serialization`
  [6462fe0b] Sockets `@stdlib/Sockets`
  [fa267f1f] TOML `@stdlib/TOML`
  [a4e569a6] Tar `@stdlib/Tar`
  [8dfed614] Test `@stdlib/Test`
  [cf7118a7] UUIDs `@stdlib/UUIDs`
  [4ec0a83e] Unicode `@stdlib/Unicode`
  [deac9b47] LibCURL_jll `@stdlib/LibCURL_jll`
  [29816b5a] LibSSH2_jll `@stdlib/LibSSH2_jll`
  [c8ffd9c3] MbedTLS_jll `@stdlib/MbedTLS_jll`
  [14a3606d] MozillaCACerts_jll `@stdlib/MozillaCACerts_jll`
  [83775a58] Zlib_jll `@stdlib/Zlib_jll`
  [8e850ede] nghttp2_jll `@stdlib/nghttp2_jll`
  [3f19e933] p7zip_jll `@stdlib/p7zip_jll`
Precompiling project...
  ✗ BinaryProvider
  0 dependencies successfully precompiled in 1 seconds (3 already precompiled)
  1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package
     Testing Running tests...
┌ Warning: Platform `arm64-apple-darwin21.1.0` is not an officially supported platform
└ @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:450
ERROR: LoadError: KeyError: key "unknown" not found
Stacktrace:
  [1] getindex
    @ ./dict.jl:481 [inlined]
  [2] parse_dl_name_version
    @ ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:511 [inlined]
  [3] detect_libgfortran_abi(libgfortran_name::String, platform::BinaryProvider.UnknownPlatform) (repeats 2 times)
    @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:555
  [4] detect_libgfortran_abi
    @ ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:584 [inlined]
  [5] detect_compiler_abi()
    @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:667
  [6] top-level scope
    @ ~/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:685
  [7] include(mod::Module, _path::String)
    @ Base ./Base.jl:418
  [8] include(x::String)
    @ BinaryProvider ~/.julia/packages/BinaryProvider/U2dKK/src/BinaryProvider.jl:1
  [9] top-level scope
    @ ~/.julia/packages/BinaryProvider/U2dKK/src/BinaryProvider.jl:12
 [10] include
    @ ./Base.jl:418 [inlined]
 [11] 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::String)
    @ Base ./loading.jl:1318
 [12] top-level scope
    @ none:1
 [13] eval
    @ ./boot.jl:373 [inlined]
 [14] eval(x::Expr)
    @ Base.MainInclude ./client.jl:453
 [15] top-level scope
    @ none:1
in expression starting at /Users/jinrae/.julia/packages/BinaryProvider/U2dKK/src/PlatformNames.jl:685
in expression starting at /Users/jinrae/.julia/packages/BinaryProvider/U2dKK/src/BinaryProvider.jl:1
ERROR: LoadError: Failed to precompile BinaryProvider [b99e7846-7c00-51b0-8f62-c81ae34c0232] to /Users/jinrae/.julia/compiled/v1.7/BinaryProvider/jl_Bf8Z0b.
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1466
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1410
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1120
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997
 [7] include(fname::String)
   @ Base.MainInclude ./client.jl:451
 [8] top-level scope
   @ none:6
in expression starting at /Users/jinrae/.julia/packages/BinaryProvider/U2dKK/test/runtests.jl:1
ERROR: Package BinaryProvider errored during testing
Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/Types.jl:68
  [2] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool)
    @ Pkg.Operations /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/Operations.jl:1672
  [3] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
    @ Pkg.API /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:421
  [4] test(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:149
  [5] test(pkgs::Vector{Pkg.Types.PackageSpec})
    @ Pkg.API /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:144
  [6] #test#87
    @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:142 [inlined]
  [7] test
    @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:142 [inlined]
  [8] #test#86
    @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:141 [inlined]
  [9] test(pkg::String)
    @ Pkg.API /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Pkg/src/API.jl:141
 [10] top-level scope
    @ none:1
➜  ParametrisedConvexApproximators git:(rewrite-code) ✗

@JinraeKim
Copy link
Author

There is already a related issue of BinaryProvider.jl, JuliaPackaging/BinaryProvider.jl#205

@odow
Copy link
Member

odow commented Dec 1, 2021

M1 support is Tier 3 support with known bugs: https://julialang.org/blog/2021/11/julia-1.7-highlights/#support_for_apple_silicon

Install Julia using the Rosetta version. This isn't a bug in SCS.jl (and I don't think we've compiled a version of SCS_jll for M1?).

@odow
Copy link
Member

odow commented Dec 1, 2021

To confirm, SCS.jl is passing tests on Julia 1.7 (Intel) Mac:

@odow odow changed the title julia-1.7 pulls SCS_jll-2.1.2 due to OpenBLAS dep Add M1 support Dec 1, 2021
@odow
Copy link
Member

odow commented Jan 5, 2022

The new SCS 3.0 binaries have M1 support, this is will be resolved by #221

@odow odow mentioned this issue Jan 5, 2022
3 tasks
@abhayap
Copy link

abhayap commented Jan 6, 2022

Thanks for working on this. I'd like to have native M1 support on Julia 1.7 too.

@kalmarek
Copy link
Collaborator

kalmarek commented Jan 6, 2022

@abhayap as per https://github.com/JuliaBinaryWrappers/SCS_jll.jl/blob/main/Project.toml SCS_jll binaries are built without support for libblastrampoine, i.e. these do not support julia-1.7.

@odow
Copy link
Member

odow commented Jan 6, 2022

@kalmarek we don't need LBT to support Julia 1.7.

The problem is that we can't use OpenBLAS on both Julia 1.6 and 1.7. That's why we rebuilt SCS to use OpenBLAS32.

@kalmarek
Copy link
Collaborator

kalmarek commented Jan 7, 2022

it's good to know

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

Successfully merging a pull request may close this issue.

4 participants