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

juliacall fails in julia 1.11 with undefined symbol: jl_stdout_obj #234

Closed
schlichtanders opened this issue Sep 2, 2024 · 3 comments · Fixed by #237
Closed

juliacall fails in julia 1.11 with undefined symbol: jl_stdout_obj #234

schlichtanders opened this issue Sep 2, 2024 · 3 comments · Fixed by #237

Comments

@schlichtanders
Copy link

schlichtanders commented Sep 2, 2024

Hi there, I just tried out julia 1.11 because it has support for caching compile files.
Unfortunately R-JuliaCall fails with some problems. Trying to replicate it in a mwe, I found this incompatbility.

julia> import Pkg; Pkg.add("CondaPkg")

julia> using CondaPkg

julia> CondaPkg.add("r"); CondaPkg.add("r-juliacall")

julia> envdir = CondaPkg.envdir()
"/root/.julia/environments/v1.11/.CondaPkg/env"

julia> localpreferences = """
       [RCall]
       Rhome = "$envdir/lib/R"
       libR = "$envdir/lib/R/lib/libR.so"
       """

julia> write(joinpath(dirname(Base.active_project()), "LocalPreferences.toml"), localpreferences)

julia> import Pkg; Pkg.add("RCall")

julia> using RCall

julia> reval("""
       library(JuliaCall)
       julia_setup(installJulia=TRUE)
       """)
┌ Warning: CHOLMOD version incompatibility
│ 
│ Julia was compiled with CHOLMOD version 4.0.4. It is
│ currently linked with version 5.2.1.
│ This might cause Julia to terminate when working with
│ sparse matrix factorizations, e.g. solving systems of
│ equations with \.
│ 
│ It is recommended that you use Julia with the same major
│ version of CHOLMOD as the one used during the build, or
│ download the generic binaries from www.julialang.org,
│ which ship with the correct versions of all dependencies.
└ @ SparseArrays.CHOLMOD ~/.julia/environments/v1.11/.CondaPkg/env/share/julia/stdlib/v1.10/SparseArrays/src/solvers/cholmod.jl:206
Segmentation fault (core dumped)

restarting julia after this segmenation fault and running the below, gives another error:

julia> using RCall

julia> reval("""
       library(JuliaCall)
       julia_setup(installJulia=TRUE)
       """)
ERROR: REvalError: Julia version 1.11.0-rc3 at location /usr/local/julia/bin will be used.
Error: jl_stdout_obj - /usr/local/julia/bin/../lib/libjulia.so.1.11: undefined symbol: jl_stdout_obj
@schlichtanders schlichtanders changed the title juliacall fails in combination with RCall on julia 1.11-rc: Segmentation fault after CHOLMOD version incompatibility juliacall fails in combination with RCall on julia 1.11-rc: Segmentation fault after CHOLMOD version incompatibility + undefined symbol jl_stdout_obj Sep 2, 2024
@edwardlavender
Copy link

Any updates or suggestions regarding this issue? I am running into the same error! Thanks!

@schlichtanders schlichtanders changed the title juliacall fails in combination with RCall on julia 1.11-rc: Segmentation fault after CHOLMOD version incompatibility + undefined symbol jl_stdout_obj juliacall fails in julia 1.11 with undefined symbol: jl_stdout_obj Oct 14, 2024
@schlichtanders
Copy link
Author

I tested it now again with julia 1.11 and part of the issue is still there unfortunately...
for me now it fails immediately with the error undefined symbol: jl_stdout_obj

The conda pkg r-juliacall still depends on the conda julia 1.10. Maybe it is because of this. It would be great, if it already supports julia 1.11 even thouth julia 1.11 is not yet available via conda-forge.

@Non-Contradiction can you look into this issue? Now with julia 1.11 being released, potentially a lot of people may run into this issue

@PallHaraldsson
Copy link

FYI: See my alternative fix proposal (partial revert in Julia) at: JuliaLang/julia#53250 (comment)

I could make such a PR, I want to see first about a response there, since I can't actually merge anyway there or here... so nothing is fully in my hands (nor my responsibility...).

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.

3 participants