Skip to content

also define $FC and $FCFLAGS in build environment#1394

Merged
boegel merged 13 commits intoeasybuilders:developfrom
boegel:FC
Oct 27, 2015
Merged

also define $FC and $FCFLAGS in build environment#1394
boegel merged 13 commits intoeasybuilders:developfrom
boegel:FC

Conversation

@boegel
Copy link
Member

@boegel boegel commented Sep 18, 2015

fix for #1392

@boegel
Copy link
Member Author

boegel commented Sep 18, 2015

@geimer: can you take a look at this before I trim the edges?

Should we also define $F77FLAGS, while we're at it?

@boegel boegel added this to the v2.4.0 milestone Sep 18, 2015
@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2055/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@boegel
Copy link
Member Author

boegel commented Sep 18, 2015

Jenkins: test this please

@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2060/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@geimer
Copy link
Contributor

geimer commented Sep 21, 2015

@boegel: I can take a look, however, this definitely won't happen before next week. And even this may be wishful thinking...

@geimer
Copy link
Contributor

geimer commented Oct 10, 2015

@boegel Regarding $F77FLAGS: GNU autotools will use $FFLAGS for $F77 and $FCFLAGS for $FC. The $F90 variable and the associated $F90FLAGS are somewhat non-standard (if one considers autotools to be standard...) and custom project-specific extensions. I've never seen $F77FLAGS anywhere, though that doesn't mean that it isn't used.

Copy link
Member Author

Choose a reason for hiding this comment

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

@geimer: so, we should also define $FCFLAGS and $F77FLAGS?

@geimer
Copy link
Contributor

geimer commented Oct 10, 2015

@boegel: $FCFLAGS for sure. As I said, I personally haven't seen $F77FLAGS in the wild, but others may know more. At this point I would be reluctant to also add $F77FLAGS.

@boegel
Copy link
Member Author

boegel commented Oct 10, 2015

OK, I guess we'll stick to just $FCFLAGS then, thanks for your input @geimer! I'll try and finish this up in time for inclusion in EB v2.4.0

@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2164/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@boegel boegel changed the title also define $FC in build environment (WIP) also define $FC in build environment Oct 11, 2015
@boegel boegel changed the title also define $FC in build environment also define $FC and $FCFLAGS in build environment Oct 11, 2015
@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2166/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2167/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2168/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

Copy link
Member Author

Choose a reason for hiding this comment

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

@geimer: it seems like MPICH switched from mpif90 to mpifort in v3.1.2? Any idea about MPICH2?

Copy link
Contributor

Choose a reason for hiding this comment

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

That's right. They suddenly switch the name in a patch release! This also makes the sanity check fail when using a v3.1.1 easyconfig with --try-software-version. With respect to MPICH2, there is no need to worry as the entire release series provided mpif90.

Note that the mpifort thing also applies to recent versions of Open MPI (see https://www.open-mpi.org/faq/?category=mpi-apps#mpifort-vs-mpif77-and-mpif90), though they automatically create symlinks to mpif77 and mpif90 for backwards compatibility.

@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2169/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2170/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link

EasyBuild framework unit test suite FAILed.

See https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2171/console for more details.

Please fix the reported issues by pushing additional commits to the branch corresponding with this pull request; contact @boegel if you're not sure what to do.

@hpcugentbot
Copy link

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2172/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.

@boegel
Copy link
Member Author

boegel commented Oct 12, 2015

Summary of the changes made in here (since quite a bit of cleanup was done too):

  • also define $FC (same as $F90) in build environment (same for $MPIFC)
  • also define $FCFLAGS (same as $F90FLAGS) in build environment
  • define $MPICF* for MPICH depending on MPICH version
    • mpif77/mpifort for MPICH v3.1.2 and newer
    • mpif77/mpif90 for older MPCIH versions
  • define $MPICF* for OpenMPI depending on OpenMPI version
    • mpifort for OpenMPI v1.7 and newer
    • mpif77/mpif90 for older OpenMPI versions

@geimer: how does this sound?

@hpcugentbot
Copy link

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2175/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.

Copy link
Contributor

Choose a reason for hiding this comment

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

See easybuild/toolchains/mpi/mpich.py below: There you use a dict and MPI_COMPILER_VARIABLES. Consistency would be nice and using a dict is probably less error prone.

Copy link
Contributor

Choose a reason for hiding this comment

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

Forget it. In mpich.py it's defined at runtime...

Copy link
Member Author

Choose a reason for hiding this comment

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

No, I think this is a valid remark.

@geimer
Copy link
Contributor

geimer commented Oct 26, 2015

@boegel: Visually looks good to me; my comments are really nitpicking ;-) I've also tried to build Open MPI 1.10.0 using the Intel compilers on top of this PR w/o having FC set in configopts (like in #1392) and the build worked out fine.

@hpcugentbot
Copy link

EasyBuild framework unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-framework-pr-builder/2236/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.

@boegel
Copy link
Member Author

boegel commented Oct 27, 2015

Going in, thanks for the review @geimer!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants