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

Reply via email to