Trinity easyblock bumped to work with version 2.1.1#802
Trinity easyblock bumped to work with version 2.1.1#802boegel merged 5 commits intoeasybuilders:developfrom
Conversation
|
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1575/console for more details). This pull request is now ready for review/testing. Please try and find someone who can tackle this; contact @boegel if you're not sure what to do. |
There was a problem hiding this comment.
you're comparing a LooseVersion instance with a string here
Python allows that, and it may seem to work, but it doesn't do what you think it does
please change to (note the >=):
if LooseVersion(self.version) >= LooseVersion('2.0') and LooseVersion(self.version) < LooseVersion('3.0'):|
@hajgato: remarks fixes in hajgato#12 |
There was a problem hiding this comment.
The problem I bumped into in easybuilders/easybuild-easyconfigs#2306 (comment) is related to this.
The reason that this is needed seems to be that gcc is hardcoded for the plugins, and using Intel compiler flags with GCC isn't working out well.
You're not undefining $LIBS here, which explains the problem I'm running into.
However, I feel this is wrong approach: we should make sure the Intel compilers are used instead where they should be?
There was a problem hiding this comment.
@boegel: Yes, I am a bit afraid of this. I am not 100% sure how we have to handle this, as it seems that the Trinity authors recommend only Chrysalis and Inchworm to be compiled with Intel, and the rest with GCC. I do not know what is the correct solution in this cases, as I do not know how to pull the right GCC compiler flags. (And I am not sure that we do not have to use the hard-coded options). Anyway, one of our user already got into a problem with Intel compiled blastx, it gave wrong results (but not blastn), and apparently the foss version was rather similar in speed .
There was a problem hiding this comment.
I rarely run into problems anymore when swapping GCC with the Intel compilers, I think BLAST+ is an exception here (do you have an issue for it?).
Usually, if is happens, it can be fixed by making sure 'strict' precision is used; the Intel compilers are (a lot) less strict w.r.t. floating-point precision that GCC is. EB already 'corrects' for that a bit by specifying certain precision-related flags by default when using the Intel compilers, but sometimes they need to be made a little bit stricter (by using 'strict': True in toolchainopts in the easyconfig).
Also, I'm not sure that explicitly using GCC for the Trinity plugins is actually the intention; it looks like a case of "GCC is the only compiler" to me...
Also, this is relevant: https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/t/Trinity/trinity_ictce-no-jellyfish.patch .
Older versions of jellyfish seemed to fail to build with Intel compilers, this is clearly not the case anymore.
There was a problem hiding this comment.
@boegel: Maybe we have to consider compile everything with Intel compiler then?
There was a problem hiding this comment.
Sure, we can try and track down the places where gcc or g++ is hardcoded, and see how much effort it is to get that changed (and working).
But that's for a follow-up PR imho.
|
@boegel: merged |
|
Easyblocks unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyblocks-pr-builder/1587/console for more details). This pull request is now ready for review/testing. Please try and find someone who can tackle this; contact @boegel if you're not sure what to do. |
|
tested with easybuilders/easybuild-easyconfigs#2306, good to go, thanks @hajgato! |
Trinity easyblock bumped to work with version 2.1.1
No description provided.