vscentrum / vsc-software-stack

Central repository of easyconfigs used in the software installations on VSC clusters.
2 stars 6 forks source link

ResistanceGA #29

Closed boegel closed 11 months ago

boegel commented 2 years ago
boegel commented 2 years 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)

boegel commented 2 years ago

PR for easyconfig without the Julia package dependency: https://github.com/easybuilders/easybuild-easyconfigs/pull/16359

boegel commented 2 years ago

@ItIsI-Orient Can you take a look at Circuitscape, should be similar to MultiLevelEstimators...

lexming commented 2 years ago

I put in 45_IJulia the easyblock for JuliaPackage and current easyconfigs for IJulia as examples.

boegel commented 1 year ago

WIP easyconfig for Circuitscape: https://github.com/easybuilders/easybuild-easyconfigs/pull/16720

boegel commented 1 year ago

@ItIsI-Orient https://github.com/easybuilders/easybuild-easyconfigs/pull/16720 merged, so ready for cleanup 🥳

lexming commented 1 year ago

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.

boegel commented 1 year ago

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?

ItIsI-Orient commented 1 year ago

PR Open: