Hello Ben,

Go straight at the end for the quick answer.

On Jan 9, 2015, at 1:19 AM, Ben Roberts <[email protected]> wrote:
> I find that at or around version 4.6, GROMACS switched from using Configure + 
> Make to using CMake. I also notice that the EasyBlock for GROMACS >= 4.6 is 
> based on CMakeMake. Any putative EasyBlock for GROMACS < 4.6 would be using 
> ConfigureMake instead.

OK, that is a great example of why OOP is not a panacea for all needs ;-)

Inevitably, software build processes do evolve over time and therefor 
object orientation may fall short as things change with time.

Note to future designers:
I believe an approach with conditional predicates may permit better 
expressivity, for example:
https://docs.cfengine.com/archive/manuals/cf2-packages # ref. 
"redhat.fedora.192_168_1_200::"
Similar declarative approaches may be unavoidable also with per case situations
such as across distributions (OpenMPI & CUDA, I am looking at you).

Each time there is an “^if” regex inside an easyconfig, it makes me wonder that!

> Is there a convenient way to do things so I can have both EasyBlock modules 
> in place at once? I don’t suppose I could call both EB_GROMACS, and it’s not 
> clear that names such as EB_GROMACS_PRE46 and EB_GROMACS_POST46 will have the 
> desired effect either. Thoughts?

Now until the better future arrives, your best bet would be to try something 
like:

easyblock = “EBGROMACSPRE46” # and write the related EasyBlock

best,
Fotis

-- 
echo "sysadmin know better bash than english" | sed s/min/mins/ \
  | sed 's/better bash/bash better/' # signal detected in a CERN forum






Reply via email to