Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update GCC default-minimum version to 10.1.0 & fix compiler version check #705

Merged
merged 14 commits into from
Jun 11, 2020

Conversation

rouson
Copy link
Member

@rouson rouson commented May 7, 2020

coverage on master
Codecov branch

Summary of changes

Set install.sh to default to building GCC 10.1.0 if an earlier version is detected and no other version is specified. This can still be over-rided for users who want to build OpenCoarrays with an older version by passing the -f, -c, and -C arguments (or their longer equivalents).

Rationale for changes

  1. This ensures co_broadcast handles derived type arguments.
  2. This also updates the gcc download to use git because GCC has moved from svn to git and
    because many users cannot access the GCC ftp server for security reasons.
  3. This merge also fixes problems with prerequisites/acceptable_compiler.f90, which failed when the acceptable compiler version matched the actual version.

Additional info and certifications

This pull request (PR) is a:

  • Bug fix (replaces GCC download URL's that don't work for the latest releases)
  • Feature addition (provides derived-type co_broadcast by default)
  • Other, Please describe:

I certify that

  • I certify that:
    • I have reviewed and followed the contributing guidelines
    • I will wait at least 24 hours before self-approving the PR to give another
      OpenCoarrays developer a chance to review my proposed code
    • I have not introduced errant white space (no trailing white space or white space errors may
      be introduced)
    • I have added an explanation of what these changes do and why they should be included
    • I have checked to ensure there aren't other open Pull Requests for the same change
    • I have you written new tests for these changes
    • I have successfully tested these changes locally
    • I have commented any non-trivial, non-obvious code changes
    • The commits are logically atomic, self consistent and coherent
    • The commit messages follow best practices
    • Test coverage is maintained or increased after this is merged

Code coverage data

coverage on master

1. This ensures co_broadcast handles derived type arguments.
2. This also updates the gcc download to use git as it appears
   GCC no longer provides tarballs on the ftp server and
   because many users can't use ftp for security reasons.
3. This can still be overrided for users who want to build
   OpenCoarrays with an older version by passing the
   -f, -c, and -C arguments (or their longer equivalents).
@codecov
Copy link

codecov bot commented May 7, 2020

Codecov Report

Merging #705 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #705   +/-   ##
=======================================
  Coverage   54.53%   54.53%           
=======================================
  Files           3        3           
  Lines        2923     2923           
=======================================
  Hits         1594     1594           
  Misses       1329     1329           

lettleli and others added 12 commits May 13, 2020 21:02
The function target_compile_options in combination with
generator expressions does not handle strings with space
separated compiler flags and inserts quotes.

Also MPI_<lang>_COMPILE_FLAGS is deprecated since cmake 3.10
and should be replaced by MPI_<lang>_COMPILE_OPRIONS and
MPI_<lang>_COMPILE_DEFINITIONS.
Those variables are already lists of compiler flags and thus well
suited to solve the bug.

This fixes the build error described in issue #676 when using MPICH,
which is the same error as described in issue #704.

Signed-off-by: Elias Lettl <elias.lettl@physik.uni-augsburg.de>
When building with `BUILD_SHARED_LIBS=ON` it will otherwise be
build as a shared library but in the function `caf_compile_executable`
it is hardcoded as a static library. Thus leading to the build error
described in issue #676.
The `STATIC` keyword for the targets `opencoarrays_mod`
and `opencoarrays_test_utilities` could now probably be removed.
Fix static lib opencoarrays_test_utilities not found (issue  676)
Fix MPI compile flags to not include quotation marks (issue-704)
1. The GCC version can still be overriden for users who want
   to build OpenCoarrays with an older version by passing the
   -f, -c, and -C arguments or their longer equivalents.
2. Updaing the GCC version ensures co_broadcast handles
   derived-type arguments.
3. This commit also updates the gcc download to use git to fix
   the problem of ftp being present and therefore chosen as the
   default even though ftp access is blocked by a user's network
   (for security reasons).
@rouson rouson changed the title WIP: Update GCC version default minimum to 10.1.0 (should be safe but needs testing) Update GCC version default minimum to 10.1.0 (should be safe but needs testing) Jun 11, 2020
@rouson rouson changed the title Update GCC version default minimum to 10.1.0 (should be safe but needs testing) Update GCC default-minimum version to 10.1.0 & fix compiler version check Jun 11, 2020
@rouson rouson merged commit 78a4346 into master Jun 11, 2020
@rouson rouson deleted the default-to-gcc-10 branch June 11, 2020 19:54
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.

None yet

2 participants