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

Bugfix #2106 main_v10.1 gcc #2134

Merged
merged 6 commits into from Apr 11, 2022
Merged

Conversation

JohnHalleyGotway
Copy link
Collaborator

@JohnHalleyGotway JohnHalleyGotway commented Apr 8, 2022

Expected Differences

  • Do these changes introduce new tools, command line arguments, or configuration file options? [No]

    If yes, please describe:

  • Do these changes modify the structure of existing or add new output data types (e.g. statistic line types or NetCDF variables)? [No]

    If yes, please describe:

Pull Request Testing

  • Describe testing already performed for these changes:

Tested the compilation of MET with GCC 9 via Docker.

  1. Cloned MET repo and checked out the feature branch here:
    /Volumes/d1/projects/MET/MET_development/bugfix_2106/MET-bugfix_2106_gcc
  2. Ran this Docker command to mount the MET repo into the unit_test_gcc9 image:
docker run --name gcc9_test -it \
-v /Volumes/d1/projects/MET/MET_development/bugfix_2106/MET-bugfix_2106_gcc:/met/MET-bugfix_2106_gcc \
dtcenter/met-base:unit_test_gcc9 \
/bin/bash
  1. Inside the container, I sourced the environment and compiled MET:
cd /met/MET-bugfix_2106_gcc/met
source ../scripts/environment/development.docker
./bootstrap
./configure --enable-grib2 --enable-modis --enable-mode_graphics --enable-lidar2nc --enable-python
make clean install test >& make.log
  1. Confirmed that it now compiles using GCC9. Also note that GHA successfully compiles this feature branch.
  • Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:

Just review the code changes. You could go through all the compilation steps listed above, but compiling inside the container is actually really slow.
Recommend reviewing this at the same time as the PR for develop #2135.

  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [No]
    None needed.

  • Do these changes include sufficient testing updates? [No]
    None needed.

  • Will this PR result in changes to the test suite? [No]

    If yes, describe the new output and/or changes to the existing output:

  • Please complete this pull request review by [Monday 4/11/2022].

Pull Request Checklist

See the METplus Workflow for details.

  • Review the source issue metadata (required labels, projects, and milestone).
  • Complete the PR definition above.
  • Ensure the PR title matches the feature or bugfix branch name.
  • Define the PR metadata, as permissions allow.
    Select: Reviewer(s)
    Select: Organization level software support Project or Repository level development cycle Project
    Select: Milestone as the version that will include these changes
  • After submitting the PR, select Linked issues with the original issue number.
  • After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
  • Close the linked issue and delete your feature or bugfix branch from GitHub.

… compilation error in GCC9.

data_plane_util.cc:262:36: error: "shape" not specified in enclosing "parallel"

However, including it causes a compilation error in GCC8!

data_plane_util.cc:257:38: error: 'shape' is predetermined 'shared' for 'shared'
    private(x, y, n_vld, n_thr, gp, v)

Try making "shape" non-const to see if that sidesteps the GCC8 issue.
…l for testing this bugfix but could be modified if we change the way the MET software is compiled inside Docker.
… link to zlib like plot_data_plane does. Compiling with GCC 9 revealed the linker error.
@JohnHalleyGotway JohnHalleyGotway added this to the MET 10.1.1 (bugfix) milestone Apr 8, 2022
@JohnHalleyGotway JohnHalleyGotway linked an issue Apr 9, 2022 that may be closed by this pull request
22 tasks
@JohnHalleyGotway JohnHalleyGotway marked this pull request as ready for review April 9, 2022 04:34
@JohnHalleyGotway JohnHalleyGotway mentioned this pull request Apr 9, 2022
15 tasks
@JohnHalleyGotway JohnHalleyGotway marked this pull request as draft April 9, 2022 05:03
@JohnHalleyGotway JohnHalleyGotway marked this pull request as ready for review April 11, 2022 18:04
Copy link
Collaborator

@georgemccabe georgemccabe left a comment

Choose a reason for hiding this comment

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

It looks like these changes involve removing const from one of the arguments to a function, adding that variable to the list of shared resources for OMP, and adding dependency of the Z library to the plot_point_obs tool. Also, a environment file for running in Docker was added to easily compile and test using Docker.

I don't fully understand why these changes fixed the issue with compiling using GCC 9, but they do appear to preserve the output of the unit tests using GCC 8. If you are confident that the testing you performed using GCC 9 is sufficient, then I approve this PR.

@JohnHalleyGotway JohnHalleyGotway merged commit 205fc94 into main_v10.1 Apr 11, 2022
@JohnHalleyGotway JohnHalleyGotway deleted the bugfix_2106_main_v10.1_gcc branch April 11, 2022 23:16
jprestop added a commit that referenced this pull request May 19, 2022
* added logic to manually trigger a workflow via the GitHub… (#2107)

* Bugfix #2102 main_v10.1 initialize modified_hdr_typ (#2108)

* Bugfix #2115 main_v10.1 Rotated LatLon (#2116)

* Per #2123, added debug code to make this error that was unrepoducible, reproducible on seneca. Just initialize the newly allocated time_values array with values of -10. PLEASE REMOVE THAT TEST CODE PRIOR TO SUBMITTING A PR TO FIX THIS ISSUE.

* #2123 Initialize ValidTime if afile to read time bvariable

* #2123 Support int64 data type

* #2123 Support int64 data type

* Bugfix #2118 main_v10.1 grib1_rotll (#2129)

Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>

* Bugfix #2106 main_v10.1 gcc (#2134)

* Feature 2141 v10.1.1 (#2144)

* Add testing and docs badges.

* #14 Using literal instead of numbers and make sure no overflow

* #14 Using literal instead of numbers

* #14 Added tmp_buf_size

* #14 Define n_kw_infos first

* #14 Using literal instead of numbers

* Bugfix #2148 main_v10.1 misses (#2149)

Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>

* dtcenter/METplus-Internal#14 formatting code

* Feature 2162 v10.1.2 (#2163)

* Per #2162, update versions and notes for the 10.1.2 bugfix release

* Per #2162, update versions and notes for the 10.1.2 bugfix release

* Per #2162, fixing syntax error

* Add "METplus-Internal" before the issue number for clarity

Co-authored-by: johnhg <johnhg@ucar.edu>

Co-authored-by: Julie Prestopnik <jpresto@seneca.rap.ucar.edu>
Co-authored-by: johnhg <johnhg@ucar.edu>

Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
Co-authored-by: johnhg <johnhg@ucar.edu>
Co-authored-by: Howard Soh <hsoh@seneca.rap.ucar.edu>
Co-authored-by: hsoh-u <hsoh@ucar.edu>
Co-authored-by: Julie Prestopnik <jpresto@seneca.rap.ucar.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

Fix OpenMP compilation error for GCC 9.3.0/9.4.0
2 participants