Closed boegel closed 11 months ago
For the Julia package dependency, maybe the JuliaPackage
easyblock from https://github.com/eth-cscs/production/blob/master/easybuild/easyblocks/juliapackage.py can be useful (may need some minor tweaking to remove aspects specific to CSCS)
PR for easyconfig without the Julia package dependency: https://github.com/easybuilders/easybuild-easyconfigs/pull/16359
@ItIsI-Orient Can you take a look at Circuitscape, should be similar to MultiLevelEstimators...
I put in 45_IJulia the easyblock for JuliaPackage
and current easyconfigs for IJulia as examples.
WIP easyconfig for Circuitscape: https://github.com/easybuilders/easybuild-easyconfigs/pull/16720
@ItIsI-Orient https://github.com/easybuilders/easybuild-easyconfigs/pull/16720 merged, so ready for cleanup 🥳
Loading libunwind/1.6.2-GCCcore-11.3.0
(dep of R) breaks the Pkg
extension of Julia:
$ ml
Currently Loaded Modules:
1) GCCcore/11.3.0 2) XZ/5.2.5-GCCcore-11.3.0 3) libunwind/1.6.2-GCCcore-11.3.0 4) Julia/1.7.2-linux-x86_64
$ julia -e 'using Pkg;Pkg.develop(PackageSpec(path="/user/brussel/101/vsc10122/easybuild/install/skylake/software/ResistanceGA/4.2-5-foss-2022a-R-4.2.1-Julia-1.7.2/packages/Suppressor"));Pkg.build("Suppressor")'
Segmentation fault
I do not know exactly what is the linking in Julia that breaks by loading libunwind
, but it's clear that installing ResistanceGA might very well need a Julia installation using the same toolchain as its dependency in R.
Alternatively, installing Suppressor
and RCall
with their own JuliaPackage
easyconfigs and loading them as deps in ResistanceGA might work if (by any chance) none of their linking is broken by the R environment.
A workaround could be to make sure that julia
picks up the correct libunwind
, via:
export LD_LIBRARY_PATH=$EBROOTJULIA/lib/julia:$LD_LIBRARY_PATH
If that's only needed to build/install the Julia packages, maybe it's good enough?
README
at https://github.com/wpeterman/ResistanceGAfoss/2022a
???