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

Failed to precompile RCall on Julia v1.8 #455

Closed
fabrizioleone opened this issue Sep 13, 2022 · 8 comments
Closed

Failed to precompile RCall on Julia v1.8 #455

fabrizioleone opened this issue Sep 13, 2022 · 8 comments

Comments

@fabrizioleone
Copy link

Hi,

I have recently updated Julia from v1.7 to v1.8. I can correctly install RCall. However, when I type using RCall in the REPL, I get the following error message:

Failed to precompile RCall [6f49c342-dc21-5d91-9882-a32aef131414] to /Users/fabrizio/.julia/compiled/v1.8/RCall/jl_Epnq88.
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base ./loading.jl:1705
  [3] compilecache
    @ ./loading.jl:1649 [inlined]
  [4] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1337
  [5] _require_prelocked(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1200
  [6] macro expansion
    @ ./loading.jl:1180 [inlined]
  [7] macro expansion
    @ ./lock.jl:223 [inlined]
  [8] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1144
  [9] eval
    @ ./boot.jl:368 [inlined]
 [10] eval
    @ ./Base.jl:65 [inlined]
 [11] repleval(m::Module, code::Expr, #unused#::String)
    @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.7.10/scripts/packages/VSCodeServer/src/repl.jl:222
 [12] (::VSCodeServer.var"#107#109"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt})()
    @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.7.10/scripts/packages/VSCodeServer/src/repl.jl:186
 [13] with_logstate(f::Function, logstate::Any)
    @ Base.CoreLogging ./logging.jl:511
 [14] with_logger
    @ ./logging.jl:623 [inlined]
 [15] (::VSCodeServer.var"#106#108"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt})()
    @ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.7.10/scripts/packages/VSCodeServer/src/repl.jl:187
 [16] #invokelatest#2
    @ ./essentials.jl:729 [inlined]
 [17] invokelatest(::Any)
    @ Base ./essentials.jl:726
 [18] macro expansion
    @ ~/.vscode/extensions/julialang.language-julia-1.7.10/scripts/packages/VSCodeServer/src/eval.jl:34 [inlined]
 [19] (::VSCodeServer.var"#61#62")()
    @ VSCodeServer ./task.jl:484

Any lead about how to get around it is very much appreciated. Thank you.

@ablaom
Copy link

ablaom commented Sep 16, 2022

I've also encountered this. If I try Pkg.build(RCall), the build hangs:

julia> Pkg.build("RCall")
    Building Conda  `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/6e47d11ea2776bc5627421d59cdcc1296c058071/build.log`
    Building RCall  `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/72fddd643785ec1f36581cbc3d288529b96e99a7/build.log`
  Progress [====================>                    ]  1/2

@ViralBShah
Copy link
Contributor

What OS is this on? This worked fine for me.

@ablaom
Copy link

ablaom commented Oct 18, 2022

For me its macOS:

julia> versioninfo()
Julia Version 1.8.2
Commit 36034abf260 (2022-09-29 15:21 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin21.4.0)
  CPU: 12 × Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
  Threads: 5 on 12 virtual cores
Environment:
  JULIA_LTS_PATH = /Applications/Julia-1.6.app/Contents/Resources/julia/bin/julia
  JULIA_PATH = /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia
  JULIA_EGLOT_PATH = /Applications/Julia-1.6.app/Contents/Resources/julia/bin/julia
  JULIA_NUM_THREADS = 5
  DYLD_LIBRARY_PATH = /usr/local/homebrew/Cellar/libomp/9.0.1/lib/
  JULIA_NIGHTLY_PATH = /Applications/Julia-1.8.app/Contents/Resources/julia/bin/julia

@ViralBShah
Copy link
Contributor

I tested on macOS 1.8 as well. I installed R from homebrew.

@ablaom
Copy link

ablaom commented Oct 19, 2022

Mmm. Sometime, long ago, when I first installed Call I seemed to have set R_HOME set to "*" in my .bashrc, which according to RCall docs should trigger a julia-local Conda install, right? I'm not a regular RCall user but believe this used to work. Curiously, if I do echo $R_HOME now, I don't get "*", I get what looks like a directory listing, like * is interpreted as wild-card:

(py37) humus:~ anthony$ echo $R_HOME
17.pdf Applications Desktop Documents Downloads Dropbox FlowMeter.xlsx Google Drive GoogleDrive HelloJulia Julia Library MLJ MLJTutorial Movies Music OneDrive Path Pictures Public Sites TableTransforms Untitled.ipynb Untitled1.ipynb Untitled2.ipynb Untitled3.ipynb Untitled4.ipynb Untitled5.ipynb Untitled6.ipynb Untitled7.ipynb anaconda2 contents contents1 junk junk.jls junk.jl~ junk.txt junk_big.jlso junk_depot junk_small.jlso kale_rsa.pub myemacs new_names notebook.unexecuted.ipynb pbcopy personal_access_token personal_access_token2 personal_access_token2~ quark_cake.jpeg sandbox scikit_learn_data temp temp.jl tmp usr waste_of_time.md

Could this be the issue? In that case how do I set my R_HOME to have RCall.jl handle the R installation?

@ViralBShah
Copy link
Contributor

I'm also not a regular R or RCall user - but I just noted that RCall found my homebrew installed R and I didn't have to set R_HOME or anything. It was pleasantly straightforward.

@ablaom
Copy link

ablaom commented Oct 20, 2022

For the record, I've just tried today without changing R_HOME and Pkg.build(Call) worked (with no change to my weird R_HOME). I have not idea what changed. R was installed using Conda in .julia

@ViralBShah
Copy link
Contributor

I will note that it just hangs for a long time and then continues. In general, we should probably not try to do this automatically, and just document the instructions for people wanting to install R from conda, or provide their own R. It's unnecessarily magical right now. No real R user would wants to call R would want their R to be installed by Conda in .julia!

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

3 participants