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

Building fails with: SystemError: opening file "/Applications/Julia-1.6.app/Contents/Resources/julia/bin/../share/julia/base/sysimg.jl": Permission denied #96

Closed
NightMachinery opened this issue Nov 15, 2021 · 3 comments

Comments

@NightMachinery
Copy link

julia> using Pkg ; Pkg.add("MKL"); Pkg.build("MKL")
    Updating registry at `~/.julia/registries/General`
    Updating git-repo `https://github.com/JuliaRegistries/General.git`
   Resolving package versions...
  No Changes to `~/.julia/environments/v1.6/Project.toml`
  No Changes to `~/.julia/environments/v1.6/Manifest.toml`
    Building MKL  `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/b3f01117f62 MKL → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/b3f01117f6276bbaf8a45391ceda4d78fb6eeaa0/build.log`
ERROR: Error building `MKL`: 
[ Info: Splicing in code to load MKL in /Applications/Julia-1.6.app/Contents/Resources/julia/bin/../share/julia/base/sysimg.jl
ERROR: LoadError: SystemError: opening file "/Applications/Julia-1.6.app/Contents/Resources/julia/bin/../share/julia/base/sysimg.jl": Permission denied
Stacktrace:
  [1] systemerror(p::String, errno::Int32; extrainfo::Nothing)
    @ Base ./error.jl:168
  [2] #systemerror#62
    @ ./error.jl:167 [inlined]
  [3] systemerror
    @ ./error.jl:167 [inlined]
  [4] open(fname::String; lock::Bool, read::Nothing, write::Nothing, create::Nothing, truncate::Bool, append::Nothing)
    @ Base ./iostream.jl:293
  [5] open(fname::String, mode::String; lock::Bool)
    @ Base ./iostream.jl:355
  [6] open(fname::String, mode::String)
    @ Base ./iostream.jl:355
  [7] open(::Base.var"#322#323"{String, Tuple{}}, ::String, ::Vararg{String, N} where N; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Base ./io.jl:328
  [8] open
    @ ./io.jl:328 [inlined]
  [9] write
    @ ./io.jl:420 [inlined]
 [10] insert_MKL_load(base_dir::String)
    @ Main ~/.julia/packages/MKL/HNCoo/src/install.jl:73
 [11] change_blas_library(libblas::String)
    @ Main ~/.julia/packages/MKL/HNCoo/src/install.jl:120
 [12] enable_mkl_startup()
    @ Main ~/.julia/packages/MKL/HNCoo/src/install.jl:107
 [13] top-level scope
    @ ~/.julia/packages/MKL/HNCoo/deps/build.jl:15
 [14] include(fname::String)
    @ Base.MainInclude ./client.jl:444
 [15] top-level scope
    @ none:5
in expression starting at /Users/evar/.julia/packages/MKL/HNCoo/deps/build.jl:15
Stacktrace:
  [1] pkgerror(msg::String)
    @ Pkg.Types /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Types.jl:55
  [2] (::Pkg.Operations.var"#81#86"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec})()
    @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1040
  [3] withenv(::Pkg.Operations.var"#81#86"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, ::Pair{String, String}, ::Vararg{Pair{String, B} where B, N} where N)
    @ Base ./env.jl:161
  [4] (::Pkg.Operations.var"#108#112"{String, Pkg.Operations.var"#81#86"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.PackageSpec})()
    @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1540
  [5] with_temp_env(fn::Pkg.Operations.var"#108#112"{String, Pkg.Operations.var"#81#86"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.PackageSpec}, temp_env::String)
    @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1442
  [6] (::Pkg.Operations.var"#107#111"{Pkg.Operations.var"#81#86"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String})(tmp::String)
    @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1515
  [7] mktempdir(fn::Pkg.Operations.var"#107#111"{Pkg.Operations.var"#81#86"{Bool, Pkg.Types.Context, String, Pkg.Types.PackageSpec}, Pkg.Types.Context, Pkg.Types.PackageSpec, String, Pkg.Types.Project, String}, parent::String; prefix::String)
    @ Base.Filesystem ./file.jl:729
  [8] mktempdir(fn::Function, parent::String) (repeats 2 times)
    @ Base.Filesystem ./file.jl:727
  [9] sandbox(fn::Function, ctx::Pkg.Types.Context, target::Pkg.Types.PackageSpec, target_path::String, sandbox_path::String, sandbox_project_override::Pkg.Types.Project)
    @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1481
 [10] build_versions(ctx::Pkg.Types.Context, uuids::Vector{Base.UUID}; verbose::Bool)
    @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:1021
 [11] build(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, verbose::Bool)
    @ Pkg.Operations /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/Operations.jl:902
 [12] build(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; verbose::Bool, kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:893
 [13] build
    @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:877 [inlined]
 [14] #build#70
    @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:73 [inlined]
 [15] build
    @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:72 [inlined]
 [16] #build#69
    @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:70 [inlined]
 [17] build
    @ /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:70 [inlined]
 [18] build(pkg::String; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Pkg.API /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:69
 [19] build(pkg::String)
    @ Pkg.API /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/Pkg/src/API.jl:69
 [20] top-level scope
    @ REPL[1]:1
@ViralBShah
Copy link
Contributor

MacOS doesn't like you overwriting files in installed applications. I would recommend moving to 1.7 if you want to use MKL.jl.

@NightMachinery
Copy link
Author

MacOS doesn't like you overwriting files in installed applications. I would recommend moving to 1.7 if you want to use MKL.jl.

How does 1.7 solve this?

Can the macOS “protection” be bypassed?

@ViralBShah
Copy link
Contributor

ViralBShah commented Nov 17, 2021

See the libblastrampoline project. There's a JuliaCon talk on it too.

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