-
Notifications
You must be signed in to change notification settings - Fork 772
Open
Description
We already have plenty of easyconfigs for binary software with undocumented OS deps, typically on X11 etc.
Examples
- https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/b/Blender/Blender-3.4.1-linux-x86_64-CUDA-11.7.0.eb
- https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/m/Mathematica/Mathematica-13.1.0.eb
- https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/p/PyCharm/PyCharm-2022.3.2.eb
- https://github.com/easybuilders/easybuild-easyconfigs/blob/develop/easybuild/easyconfigs/m/MATLAB/MATLAB-2022a.eb
and others, currently held back in PRs, at the time of writing this, e.g. {bio}[system/system] SeaView v5.0.5 #17385
Some of these only have optional dependency on a GUI, others, e.g. PyCharm is of course useless outside an X11 desktop, so, wherever you would actually try to use them you would have most or all the required system libraries installed anyway.
I know we are inconsistent here, accepting some as is and requiring others to make adaptions. E.g. Blender is accepted, Schrödinger was not: #16619
The major options I see are:
- treat these as implied OS dependencies (the software in question might even only support some OS'es). It's often infeasible to try to list all the things it technically requires from the OS to get all the features from Mathematica, Schrödinger, MATLAB, PyCharm, Blender etc. up and running.
- move it under a toolchain and pick up our compiled-from-source X11 etc. This might also not at all work, as it would force a new libstdc++, zlib etc. into LD_LIBRARY_PATH which might very well break things. This also means I wouldn't be able to share the binary installs of these big software packages across my different clusters, as they would now lie under a architecture specific toolchain, which I consider a major downside.
- avoid using binary installs and compile it from source (assuming the it's even open source). This might result in a tremendous amount of additional work for relatively small benefit (e.g. i actually provide OS X11 for all my nodes as part of the VNC desktop for my users, so the Blender package as is probably works just fine for my setup). It's still probably the best option for a bunch of software though and we already do this for the most part.