easybuild icon indicating copy to clipboard operation
easybuild copied to clipboard

multi_deps and pyver

Open jpecar opened this issue 6 years ago • 3 comments

Trying to build some PythonPackage with easybuild 4.1.0 I noticed that if I declare

versionsuffix = '-Python-%(pyver)s'
dependencies = [('Python', '3.7.4')
('SciPy-bundle', '2019.10', versionsuffix)]

works, but trying with multi_deps like this

versionsuffix = '-Python-%(pyver)s'
multi_deps = {'Python': ['3.7.4', '2.7.16']}
dependencies = [('SciPy-bundle', '2019.10', versionsuffix)]

results in ERROR: Missing dependencies: SciPy-bundle/2019.10-foss-2019b-Python-%(pyver)s. Looks like multi_deps with multiple python versions does not properly define pyver?

jpecar avatar Feb 10 '20 08:02 jpecar

If you build a package with python multi_dep there should be no versionsuffix -Python-... since it only creates a single installation.

But for Python 3.7.4/2.7.16 SciPy-bundle can't be made multi_dep due to numpy version differing between Python 3.7.4 and 2.7.16. So you need to create separate packages if it depends on SciPy-bundle

akesandgren avatar Feb 10 '20 09:02 akesandgren

Yeah, I don't think your use case is supported yet, where you want one dependency version if it is Python2 and another if it is Python3. But we are doing something like that for architecture support (for Power) so maybe it is worth considering? It might work for SciPy since that is a bundle anyway so should only differ by a versionsuffix.

ocaisa avatar Feb 10 '20 09:02 ocaisa

I "worked around" this by picking the latest version of the python package that dropped support for python 2.7, so the multi_deps thing went away entirely.

jpecar avatar Feb 10 '20 09:02 jpecar