Как мне скомпилировать Julia для моего процессора? - PullRequest
0 голосов
/ 27 мая 2018

Я недавно установил 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

Таким образом, в основном он пытается скопировать что-то в каталог только для корневого доступа: /usr/lib/.

Исходя из Python, у меня никогда не было подобных проблем, и когда я делал это, я делал что-то не так.Так что я устал от запуска Джулии с sudo и выполнения тех же шагов (что, я думаю, решит эту проблему, но, возможно, создаст другие проблемы с разрешениями в будущем).

Мой вопрос: как правильно это сделать?Действительно ли правильный путь запуска Юлии от имени root ?!(Документы не помогли с этим.)

...