A couple of backwards-incompatible changes were made in EasyBuild v4.0:

Functions & classes that must be imported from the easybuild.tools.py2vs3 namespace

Other than the changed default configuration, these changes are mainly important for developers of the EasyBuild framework and easyblock implementers.

--fixed-installdir-naming-scheme enabled by default¶

The --fixed-installdir-naming-scheme was changed to be enabled by default, which makes the name of the software installation directory independent of the module naming scheme being used.

With this configuration setting enabled, the name of software installation directories will match the module name generated by the (default) EasyBuildMNS module naming scheme.

So, for an easyconfig file example-1.2.3-foss-2019b.eb , the software installation directory will always be <prefix>/software/example/1.2.3-foss-2019b , regardless of the active module naming scheme.

This change was done to make it easier to generate module files using one or more additional module naming scheme (using --module-only ) for already existing software installations. Only when the name of the software installation directories is independent of the module naming scheme being used during the (first) installation is it possible to later generate additional module files using a different module naming scheme.

Note Having --fixed-installdir-naming-scheme enabled should not cause problems in existing setups. Mixing different naming schemes for software installations directories in a single software stack works just fine; it’s mostly a matter of inconsistency that could be confusing for humans.