PrgEnv-intel + gcc module requirement is out-of-date

Issue #310 resolved
Paul Hargrove created an issue

We have documented (and system-checks.sh enforces) that when compiling for the Cray XC with PrgEnv-intel, one must have a (new-enough) gcc environment module loaded.

It it still true that we need a new enough GCC for its libstdc++.
However, /usr/bin/g++ on Cori is currently 7.3.1 - more than new enough.

I have selected Component = General because this has two aspects:

  • "Documentation" to correctly state that GCC 6.4.0 must be in ones $PATH
  • "Build/install scripts" to fix the enforcement logic (and error message) to match

The current state might be considered harmless except that with dynamic linking the default on Cori, there is now a (potential) requirement that the same gcc environment module be loaded at application run time (Cray's wrappers are not encoding an RPATH for libstdc++.so). So, when /usr/bin/g++ is good enough, I'd like to avoid introducing this unnecessary runtime dependency.

Comments (2)

  1. Paul Hargrove reporter

    Update PrgEnv-intel requirements on g++

    This commit resolves issue 310 by documenting and enforcing that g++ 6.4.0 (or newer) must be in $PATH, while suggesting that a module load gcc may be the resolution when this is not the case.

    → <<cset 9a28993fc3fd>>

  2. Log in to comment