JuliaInterop / JuliaInterop/JuliaCall
Support R v4.2.3 for openssl compatibility
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 287
- Forks
- 43
- PR merge metrics
- No merged PRs in 30d
Description
The new version 0.17.6 depends on R>4.3, which is a problem with openssl support.
using CondaPkg and searching for r-juliacall we get the following r-base >=4.3,<4.4.0a0 restriction
julia> CondaPkg.withenv() do
run(`micromamba search -c conda-forge r-juliacall`)
end
Getting repodata from channels...
conda-forge/linux-64 Using cache
conda-forge/noarch Using cache
r-juliacall 0.17.6 r43h93ab643_0 (+ 1 builds)
─────────────────────────────────────────────
Name r-juliacall
Version 0.17.6
Build r43h93ab643_0
Size 819 kB
License MIT
Subdir linux-64
File Name r-juliacall-0.17.6-r43h93ab643_0.conda
URL https://conda.anaconda.org/conda-forge/linux-64/r-juliacall-0.17.6-r43h93ab643_0.conda
MD5 5fab13ed882fed43a6c794167cdfd72e
SHA256 54f4b2233e663faa4b7033d8239b063b3902c408955e220cd48b7ef4ac54db15
Dependencies:
- julia
- r-rjson
- __glibc >=2.17,<3.0.a0
- libgcc >=13
- libstdcxx >=13
- r-base >=4.3,<4.4.0a0
- r-rcpp >=0.12.7
- r-knitr >=1.28
Other Versions (2):
Version Build
────────────────────────────────────
0.17.5 r40h7525677_0 (+ 6 builds)
0.17.4 r40h7525677_0 (+ 1 builds)
Process(`micromamba search -c conda-forge r-juliacall`, ProcessExited(0))
This is unfortunate, as Julia itself is bound to openssl >=3,<3.1 because of OpenSSL_jll sticking to the long term support version of openssl.
This results in 0.17.5 being used in CondaPkg (if PythonCall is also installed which adds the openssl restriction). However 0.17.5 breaks on julia 1.11.
When explicitly demanding 0.17.6, the following conda error is thrown
(testcondapkg) pkg> conda add r-juliacall==0.17.6
CondaPkg Found dependencies: /home/myhome/.julia/dev/tmp/testcondapkg/CondaPkg.toml
CondaPkg Found dependencies: /home/myhome/.julia/environments/v1.11/CondaPkg.toml
CondaPkg Found dependencies: /home/myhome/.julia/dev/JolinWorkspaceServer/CondaPkg.toml
CondaPkg Found dependencies: /home/myhome/.julia/dev/JolinWorkspace/CondaPkg.toml
CondaPkg Found dependencies: /home/myhome/.julia/packages/PythonCall/Nr75f/CondaPkg.toml
CondaPkg Resolving changes
+ r-juliacall
CondaPkg Installing packages
│ /home/myhome/.julia/artifacts/7973f2c7725e2d0eef7a95159454c4145f0945a2/bin/micromamba
│ -r /home/myhome/.julia/scratchspaces/0b3b1443-0f03-428d-bdfb-f27f9c1191ea/root
│ install
│ -y
│ -p /home/myhome/.julia/dev/tmp/testcondapkg/.CondaPkg/env
│ --override-channels
│ --no-channel-priority
│ conda-build[version='*']
│ langchain[version='*']
│ langchain-openai[version='*']
│ libstdcxx-ng[version='>=3.4,<13.0']
│ openssl[version='>=3, <3.1']
│ python[version='>=3.8,<4',channel='conda-forge',build='*cpython*']
│ r[version='*']
│ r-base[version='*']
│ r-codetools[version='*']
│ r-globals[version='*']
│ r-juliacall[version='==0.17.6']
└ -c conda-forge
conda-forge/linux-64 Using cache
conda-forge/noarch Using cache
error libmamba Could not solve for environment specs
The following packages are incompatible
├─ openssl >=3,<3.1 is requested and can be installed;
└─ r-juliacall 0.17.6 is not installable because there are no viable options
├─ r-juliacall 0.17.6 would require
│ └─ r-base >=4.3,<4.4.0a0 but there are no viable options
│ ├─ r-base 4.3.0 would require
│ │ ├─ krb5 >=1.20.1,<1.21.0a0 with the potential options
│ │ │ ├─ krb5 1.20.1 would require
│ │ │ │ └─ openssl >=3.0.7,<4.0a0 with the potential options
│ │ │ │ ├─ openssl [3.0.10|3.0.11|...|3.0.9], which can be installed;
│ │ │ │ ├─ openssl 3.1.0 conflicts with any installable versions previously reported;
│ │ │ │ ├─ openssl 3.1.1 conflicts with any installable versions previously reported;
│ │ │ │ ├─ openssl 3.1.2 conflicts with any installable versions previously reported;
│ │ │ │ ├─ openssl [3.1.3|3.1.4|3.1.5|3.1.6|3.1.7] conflicts with any installable versions previously reported;
│ │ │ │ ├─ openssl 3.2.0 conflicts with any installable versions previously reported;
│ │ │ │ ├─ openssl [3.2.1|3.2.2|3.2.3] conflicts with any installable versions previously reported;
│ │ │ │ ├─ openssl 3.3.0 conflicts with any installable versions previously reported;
│ │ │ │ ├─ openssl 3.3.1 conflicts with any installable versions previously reported;
│ │ │ │ ├─ openssl 3.3.2 conflicts with any installable versions previously reported;
│ │ │ │ └─ openssl 3.4.0 conflicts with any installable versions previously reported;
│ │ │ └─ krb5 1.20.1 would require
│ │ │ └─ openssl >=1.1.1s,<1.1.2a , which conflicts with any installable versions previously reported;
│ │ └─ libcurl [>=8.0.1,<9.0a0 |>=8.1.0,<9.0a0 ] but there are no viable options
│ │ ├─ libcurl [8.10.0|8.10.1] would require
│ │ │ └─ openssl >=3.3.2,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ ├─ libcurl 8.11.1 would require
│ │ │ └─ openssl >=3.4.0,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ ├─ libcurl [8.1.2|8.2.0|8.2.1] would require
│ │ │ └─ openssl >=3.1.1,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ ├─ libcurl 8.3.0 would require
│ │ │ └─ openssl >=3.1.2,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ ├─ libcurl 8.4.0 would require
│ │ │ └─ openssl >=3.1.3,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ ├─ libcurl 8.5.0 would require
│ │ │ └─ openssl >=3.2.0,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ ├─ libcurl [8.6.0|8.7.1] would require
│ │ │ └─ openssl >=3.2.1,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ ├─ libcurl 8.8.0 would require
│ │ │ └─ openssl >=3.3.0,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ ├─ libcurl [8.8.0|8.9.0|8.9.1] would require
│ │ │ └─ openssl >=3.3.1,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ └─ libcurl [8.0.1|8.1.0|8.1.1|8.1.2] would require
│ │ └─ openssl >=3.1.0,<4.0a0 , which conflicts with any installable versions previously reported;
│ ├─ r-base [4.3.0|4.3.1] would require
│ │ ├─ libcurl >=8.2.0,<9.0a0 , which cannot be installed (as previously explained);
│ │ └─ libssh2 >=1.11.0,<2.0a0 but there are no viable options
│ │ ├─ libssh2 1.11.0 would require
│ │ │ └─ openssl >=3.1.1,<4.0a0 , which conflicts with any installable versions previously reported;
│ │ └─ libssh2 1.11.1 would require
│ │ └─ openssl >=3.4.0,<4.0a0 , which conflicts with any installable versions previously reported;
│ ├─ r-base 4.3.1 would require
│ │ └─ libcurl >=8.3.0,<9.0a0 , which cannot be installed (as previously explained);
│ ├─ r-base 4.3.2 would require
│ │ └─ libcurl >=8.4.0,<9.0a0 , which cannot be installed (as previously explained);
│ ├─ r-base [4.3.2|4.3.3] would require
│ │ └─ libcurl >=8.5.0,<9.0a0 , which cannot be installed (as previously explained);
│ ├─ r-base [4.3.3|4.4.2] would require
│ │ └─ libcurl >=8.11.1,<9.0a0 , which cannot be installed (as previously explained);
│ ├─ r-base [4.3.3|4.4.1|4.4.2] would require
│ │ └─ libcurl >=8.10.1,<9.0a0 , which cannot be installed (as previously explained);
│ ├─ r-base [4.3.3|4.4.0|4.4.1] would require
│ │ └─ libcurl >=8.8.0,<9.0a0 , which cannot be installed (as previously explained);
│ ├─ r-base [4.3.3|4.4.1] would require
│ │ └─ libcurl [>=8.9.0,<9.0a0 |>=8.9.1,<9.0a0 ], which cannot be installed (as previously explained);
│ └─ r-base 4.3.3 would require
│ └─ libcurl >=8.7.1,<9.0a0 , which cannot be installed (as previously explained);
└─ r-juliacall 0.17.6 would require
└─ r-base >=4.4,<4.5.0a0 , which cannot be installed (as previously explained).
critical libmamba Could not solve for environment specs
ERROR: failed process: Process(`/home/myhome/.julia/artifacts/7973f2c7725e2d0eef7a95159454c4145f0945a2/bin/micromamba -r /home/myhome/.julia/scratchspaces/0b3b1443-0f03-428d-bdfb-f27f9c1191ea/root install -y -p /home/myhome/.julia/dev/tmp/testcondapkg/.CondaPkg/env --override-channels --no-channel-priority "conda-build[version='*']" "langchain[version='*']" "langchain-openai[version='*']" "libstdcxx-ng[version='>=3.4,<13.0']" "openssl[version='>=3, <3.1']" "python[version='>=3.8,<4',channel='conda-forge',build='*cpython*']" "r[version='*']" "r-base[version='*']" "r-codetools[version='*']" "r-globals[version='*']" "r-juliacall[version='==0.17.6']" -c conda-forge`, ProcessExited(1)) [1]
It seems like r-base v4.2.3 is the most recent r version which works with openssl long term support version.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository files or tests are named. Start by reproducing the shown micromamba search and installation resolution with the openssl constraint; done means the supported JuliaCall version can resolve with R 4.2.3 and the stated OpenSSL compatibility requirements without relying on the broken 0.17.5 path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100