Skip to content

Added $EBROOTIFORT/include in CPATH#1385

Merged
boegel merged 2 commits intoeasybuilders:developfrom
damianam:ifort_cpath
Mar 9, 2018
Merged

Added $EBROOTIFORT/include in CPATH#1385
boegel merged 2 commits intoeasybuilders:developfrom
damianam:ifort_cpath

Conversation

@damianam
Copy link
Copy Markdown
Member

@damianam damianam commented Mar 8, 2018

This enables the creation of fortran 2008 bindings in MPI, for MPICH flavored MPIs

Comment thread easybuild/easyblocks/i/ifort.py Outdated
guesses = super(EB_icc, self).make_module_req_guess()
if LooseVersion(self.version) >= LooseVersion('2016'):
# This enables the creation of fortran 2008 bindings in MPI
guesses['CPATH'].extend(['include'])
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@damianam: Would it make sense to just add include in the initial CPATH list in EB_icc.make_module_req_guess instead?

<prefix>/include will only be added to $CPATH if it exists, so it's OK if it's also considered for icc

Also, style nitpicking: to add a single element, you should use append(x) rather than extend([x]) ;-)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, in $EBROOTICC/include there are some other headers, like complex.h, that apparently cause problems. Besides that, there is something fishy, the resulting module now is missing some paths in other variables. I'll try to take a look at it today.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, thanks for clarifying, makes sense to only do this for ifort then.

I see no reason why other paths would suddenly go missing though...

Additional paths to consider for prepend-paths statements in module file
"""
guesses = super(EB_icc, self).make_module_req_guess()
if LooseVersion(self.version) >= LooseVersion('2016'):
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@damianam Why exactly is this version check here? If the include dir was not there for older versions, don't bother, the existence of the directory is checked before the path is added to $CPATH

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It existed, but the headers needed for fortran 2008 were not there, so there is no point in adding that path, I guess.

@boegel boegel added this to the 3.6.0 milestone Mar 9, 2018
Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Copy Markdown
Member

boegel commented Mar 9, 2018

Thanks @damianam!

@boegel boegel merged commit 01421c4 into easybuilders:develop Mar 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants