Dear Andres,
We've been keeping a close (automated) eye on which dependencies are
used in recent common toolchains (foss* & intel*, since 2018a) in that
respect: we have a test that verifies that there's only a single
"variant" (version + versionsuffix) of a software package used as a
runtime dependency (with some exceptions, e.g. Python 2.x & 3.x).
We're not doing this for build dependencies though, which is why there
are two versions of Bison used in easyconfigs that use a 2018b toolchain.
For Bison, it's a bit silly, but we have seen situations where at some
point a newer CMake was required than the one that was already being used...
The main reason for the "one dep variant" policy is to avoid version
conflicts as much as possible between easyconfigs using the same
toolchain. We learned the hard way that you run into hard to fix
problems if you don't maintain a policy like this...
Any particular reason for your question?
regards,
Kenneth
On 22/11/2018 17:03, Andreas Hilboll wrote:
Hey,
I just noticed that library versions are not necessarily used
consistently within one toolchain. For example, in foss-2018b, there's
both Bison-3.0.4 and Bison-3.0.5:
$ grep Bison */*/*.eb | grep foss-2018b
b/bioawk/bioawk-1.0-foss-2018b.eb:builddependencies = [('Bison',
'3.0.5')]
g/GObject-Introspection/GObject-Introspection-1.54.1-foss-2018b-Python-2.7.15.eb:
('Bison', '3.0.5'),
i/ITK/ITK-4.13.1-foss-2018b-Python-2.7.15.eb: ('Bison', '3.0.5'),
i/ITK/ITK-4.13.1-foss-2018b-Python-3.6.6.eb: ('Bison', '3.0.5'),
m/Mesa/Mesa-18.1.1-foss-2018b.eb: ('Bison', '3.0.5'),
m/motif/motif-2.3.8-foss-2018b.eb: ('Bison', '3.0.5'),
o/OpenFOAM/OpenFOAM-6-foss-2018b.eb: ('Bison', '3.0.4'),
o/OpenFOAM/OpenFOAM-v1806-foss-2018b.eb: ('Bison', '3.0.4'),
v/ViennaRNA/ViennaRNA-2.4.10-foss-2018b-Python-2.7.15.eb:
('Bison', '3.0.5'),
$ grep Bison */*/*.eb | grep GCCcore-7.3.0.eb
b/binutils/binutils-2.30-GCCcore-7.3.0.eb: ('Bison', '3.0.4'),
b/Bison/Bison-3.0.4-GCCcore-7.3.0.eb:name = 'Bison'
b/Bison/Bison-3.0.4-GCCcore-7.3.0.eb:description = """Bison is a
general-purpose parser generator that converts an annotated
context-free grammar
b/Bison/Bison-3.0.5-GCCcore-7.3.0.eb:name = 'Bison'
b/Bison/Bison-3.0.5-GCCcore-7.3.0.eb:description = """Bison is a
general-purpose parser generator that converts an annotated
context-free grammar
d/Doxygen/Doxygen-1.8.14-GCCcore-7.3.0.eb: ('Bison', '3.0.4'),
f/flex/flex-2.6.4-GCCcore-7.3.0.eb: ('Bison', '3.0.4'),
l/libmatheval/libmatheval-1.1.11-GCCcore-7.3.0.eb: ('Bison',
'3.0.5'),
x/X11/X11-20180604-GCCcore-7.3.0.eb: ('Bison', '3.0.5'),
Is this done on purpose, or does it "just happen"? Should this be
fixed, or is it not important at all?
Cheers,
Andreas