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

Fix MET to compile using GCC version 10 #1552

Closed
8 of 20 tasks
jprestop opened this issue Nov 10, 2020 · 4 comments · Fixed by #1752
Closed
8 of 20 tasks

Fix MET to compile using GCC version 10 #1552

jprestop opened this issue Nov 10, 2020 · 4 comments · Fixed by #1752
Assignees
Labels
component: build process Build process issue priority: medium Medium Priority requestor: Community General Community type: task An actionable item of work
Milestone

Comments

@jprestop
Copy link
Collaborator

Describe the Task

As reported by a user via met-help (https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=97359) met-9.1 does not compile using the GCC version 10 compilers. The issue lies with the compilation of the required BUFRLIB library:
`ufbtab.f:306:31:

288 | DO WHILE(IREADMG(-LUNIT,SUBSET,IDATE).GE.0)
| 2
......
306 | 10 IF(IREADMG(-LUNIT,SUBSET,JDATE).LT.0) GOTO 25
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
ufbtab.f:534:37:

288 | DO WHILE(IREADMG(-LUNIT,SUBSET,IDATE).GE.0)
| 2
......
534 | DO WHILE(IREADMG(-LUNIT,SUBSET,JDATE).GE.0)
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
`
I want to try to reproduce the problem using GCC version 10 and let the developers of BUFRLIB know of the issue.

Time Estimate

1 day

Sub-Issues

Consider breaking the task down into sub-issues.

  • No sub-issues required. I expect this to only require a small number of changes.

Relevant Deadlines

None

Funding Source

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required
  • Select scientist(s) or no scientist required - no scientist required

Labels

  • Select component(s)
  • Select priority
  • Select requestor(s)

Projects and Milestone

  • Review projects and select relevant Repository and Organization ones or add "alert:NEED PROJECT ASSIGNMENT" label
  • Select milestone to next major version milestone or "Future Versions"

Define Related Issue(s)

Consider the impact to the other METplus components.

Task Checklist

See the METplus Workflow for details.

  • Complete the issue definition above, including the Time Estimate and Funding Source.
  • Fork this repository or create a branch of develop.
    Branch name: feature_<Issue Number>_<Description>
  • Complete the development and test your changes.
  • Add/update log messages for easier debugging.
  • Add/update unit tests.
  • Add/update documentation.
  • Push local changes to GitHub.
  • Submit a pull request to merge into develop.
    Pull request: feature <Issue Number> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s), Project(s), Milestone, and Linked issues
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Close this issue.
@jprestop jprestop added component: build process Build process issue type: task An actionable item of work priority: medium Medium Priority requestor: Community General Community alert: NEED ACCOUNT KEY Need to assign an account key to this issue labels Nov 10, 2020
@jprestop jprestop added this to the MET 10.0 milestone Nov 10, 2020
@jprestop jprestop self-assigned this Nov 10, 2020
@JohnHalleyGotway JohnHalleyGotway added the alert: NEED CYCLE ASSIGNMENT Need to assign to a release development cycle label Feb 16, 2021
@JohnHalleyGotway JohnHalleyGotway removed the alert: NEED CYCLE ASSIGNMENT Need to assign to a release development cycle label Feb 16, 2021
@jprestop
Copy link
Collaborator Author

In compiling BUFRLIB:
"Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)"

Added:
"-fallow-argument-mismatch" to the compilation of BUFRLIB

From:
https://gcc.gnu.org/gcc-10/changes.html
Mismatches between actual and dummy argument lists in a single file are now rejected with an error. Use the new option -fallow-argument-mismatch to turn these errors into warnings; this option is implied with -std=legacy. -Wargument-mismatch has been removed.

@jprestop
Copy link
Collaborator Author

jprestop commented Apr 12, 2021

In compiling HDF4.2r3:
"Error: Type mismatch between actual argument at (1) and actual argument at (2) (CHARACTER(0)/INTEGER(4))"

Added:
"-w -fallow-argument-mismatch" to the compilation of HDF4.2r3 to FFLAGS in the hdf/src/Makefile

@jprestop
Copy link
Collaborator Author

Testing on cheyenne:/glade/p/ral/jntp/MET/MET_cross_platform_testing/met-10.0.0-beta4/gcc/met-10.0.0-beta4 using gnu/10.1.0

@jprestop
Copy link
Collaborator Author

I got a successful compilation on Cheyenne, including using HDF4, HDFEOS, Cairo, and Freetype, the build and test logs can be viewed at /glade/p/ral/jntp/MET/MET_cross_platform_testing/met-10.0.0-beta4/gcc/met-10.0.0-beta4.

@jprestop jprestop linked a pull request Apr 13, 2021 that will close this issue
11 tasks
@JohnHalleyGotway JohnHalleyGotway removed the alert: NEED ACCOUNT KEY Need to assign an account key to this issue label Apr 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: build process Build process issue priority: medium Medium Priority requestor: Community General Community type: task An actionable item of work
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants