如何为我的CPU本地编译Julia?

时间:2018-05-27 15:22:10

标签: julia

我刚刚安装了Julia,我意识到它默认使用了预编译的二进制文件。阅读完之后,我意识到我可以使用PackageCompiler模块进行原生编译。实际上,在加载模块时,我收到了以下消息:

julia> using PackageCompiler
WARNING: Your Julia system image is not compiled natively for this CPU architecture.
        Please run `PackageCompiler.force_native_image!()` for optimal Julia performance

所以我继续使用PackageCompiler.force_native_image!()。但是,这在一些编译之后给了我这个错误:

julia> PackageCompiler.force_native_image!()
INFO: Copying system image: /home/user/.julia/v0.6/PackageCompiler/sysimg/backup/native/sys.o to /usr/lib/julia/sys.o
ERROR: open: permission denied (EACCES)
Stacktrace:
 [1] uv_error at ./libuv.jl:68 [inlined]
 [2] open(::String, ::UInt16, ::UInt16) at ./filesystem.jl:81
 [3] sendfile(::String, ::String) at ./file.jl:523
 [4] #cp#10(::Bool, ::Bool, ::Function, ::String, ::String) at ./file.jl:227
 [5] (::Base.Filesystem.#kw##cp)(::Array{Any,1}, ::Base.Filesystem.#cp, ::String, ::String) at ./<missing>:0
 [6] copy_system_image(::String, ::String, ::Bool) at /home/user/.julia/v0.6/PackageCompiler/src/PackageCompiler.jl:49
 [7] force_native_image!() at /home/user/.julia/v0.6/PackageCompiler/src/api.jl:116
 [8] macro expansion at ./REPL.jl:97 [inlined]
 [9] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73

所以基本上它试图将某些内容复制到root-access-only目录:/usr/lib/

来自Python,我从未遇到类似的问题,当我这样做时,意味着我做错了什么。因此,我厌倦了用sudo运行Julia并执行相同的步骤(我认为这将解决此问题,但可能会在未来发生其他许可问题)。

我的问题是:这样做的正确方法是什么?以正确的方式运行朱莉娅作为根本吗?! (这些文档对此毫无帮助。)

0 个答案:

没有答案
相关问题