Skip to content

Conversation

@cdevaneprugh
Copy link

The CMakeLists.txt declares PIO libraries as STATIC IMPORTED but then points to shared library files (.so). This is an internal inconsistency that can cause build failures when using externally-built shared PIO libraries.

Fix: Change STATIC IMPORTED to SHARED IMPORTED for pioc and piof targets since they reference .so files.

Tested on: HiPerGator (University of Florida HPC) with GCC 14.2.0, OpenMPI 5.0.7, shared PIO 2.6.6

Description of changes

See above.

Specific notes

Affects users building mksurfdata_esmf with externally-built shared PIO libraries.

Contributors other than yourself, if any:

CTSM Issues Fixed (include github issue #):

Are answers expected to change (and if so in what way)?
No - this is a build configuration fix only.

Any User Interface Changes (namelist or namelist defaults changes)?
No

Does this create a need to change or add documentation? Did you do so?
No

Testing performed, if any:
Built mksurfdata_esmf successfully with external shared PIO on HiPerGator.

swensosc and others added 24 commits January 7, 2026 15:36
This brings the parameter file in line with what I used for my AGU 2025 simulations.

grnfill:
   Values differ:
      [pft 61 (rice)] 0.4000000059604645 → 0.6
      [pft 62 (irrigated_rice)] 0.4000000059604645 → 0.6

lfemerg:
   Values differ:
      [pft 61 (rice)] 0.009999999776482582 → 0.05
      [pft 62 (irrigated_rice)] 0.009999999776482582 → 0.05
ctsm5.4.007: Update (irrigated_)rice grnfill and lfemerg
ctsm5.4.009 Implement dewpoint temperature check for bare ground to fix RRTMGP error
The CMakeLists.txt declares PIO libraries as STATIC IMPORTED but then
points to shared library files (.so). This is an internal inconsistency
that can cause build failures when using externally-built shared PIO
libraries.

Fix: Change STATIC IMPORTED to SHARED IMPORTED for pioc and piof targets
since they reference .so files.

Tested on: HiPerGator (UF HPC) with GCC 14.2.0, OpenMPI 5.0.7,
shared PIO 2.6.6 at /blue/gerber/earth_models/shared/parallelio/bld/
@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability bug something is working incorrectly next this should get some attention in the next week or two. Normally each Thursday SE meeting. bfb bit-for-bit labels Jan 21, 2026
Copy link
Collaborator

@ekluzek ekluzek left a comment

Choose a reason for hiding this comment

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

This looks good! Thanks so much for noticing this and adding a PR for it!

@ekluzek
Copy link
Collaborator

ekluzek commented Jan 21, 2026

This might as well go onto b4b-dev, so rebasing to it.

@ekluzek ekluzek changed the base branch from master to b4b-dev January 21, 2026 18:02
@ekluzek
Copy link
Collaborator

ekluzek commented Jan 21, 2026

Re-basing in github caused more files to be different. So I'll rebase in the branch.

@cdevaneprugh I might need you to add me as a collaborator.

@ekluzek
Copy link
Collaborator

ekluzek commented Jan 21, 2026

I'm still seeing differences in other files after having done:

git rebase b4b-dev fix/mksurfdata-cmake-shared-pio

So we might need to cherry-pick just c1f13a6e06e77fdcf989f970e24414f2664183ca to b4b-dev and/or wait until tomorrow when b4b-dev is merged up to master.

@cdevaneprugh
Copy link
Author

Collaborator access granted. Feel free to handle the rebase as needed.

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

Labels

bfb bit-for-bit bug something is working incorrectly enhancement new capability or improved behavior of existing capability next this should get some attention in the next week or two. Normally each Thursday SE meeting.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants