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

Allow shared parallelio #1512

Closed
AlexanderRichert-NOAA opened this issue Dec 1, 2022 · 7 comments · Fixed by #1645
Closed

Allow shared parallelio #1512

AlexanderRichert-NOAA opened this issue Dec 1, 2022 · 7 comments · Fixed by #1645
Labels
enhancement New feature or request

Comments

@AlexanderRichert-NOAA
Copy link
Collaborator

AlexanderRichert-NOAA commented Dec 1, 2022

Description

CMakeLists.txt hardcodes parallelio as a STATIC library. For flexibility and consistency with the way other libraries are used which allows either static or shared, can this be changed to allow for the shared version of PIO?

Solution

Sufficiently recent versions of CMakeModules support shared PIO, at which point the PIO "STATIC" keyword in CMakeLists.txt can be removed.

@junwang-noaa
Copy link
Collaborator

George V. also had problem with the parallelio when building UFS on gaea C5. @DusanJovic-NOAA would you please take a look at this issue? Thanks

@climbfuji
Copy link
Collaborator

I would very much like the STATIC requirement to be removed from CMakeLists.txt. If the library has been built as static library, the ufs build should pick it up, i.e. no impact on the existing system.

@DusanJovic-NOAA
Copy link
Collaborator

I agree . Remove STATIC.

@junwang-noaa
Copy link
Collaborator

junwang-noaa commented Dec 3, 2022

@AlexanderRichert-NOAA can you remove "STATIC" for parallelio in CMakeLists.txt and test it in ufs wm? We prefer to use "STATIC" for operational code, but let's see if this resolve the issue.

@AlexanderRichert-NOAA
Copy link
Collaborator Author

Yes-- it can be removed with a sufficiently recent copy of the CMakeModules submodule, which has a version of FindPIO.cmake that supports the shared library (and without needing to specify shared vs. static in CMakeLists.txt).

@GeorgeVandenberghe-NOAA
Copy link
Collaborator

Has this been done so I can build with shared PIO?

@AlexanderRichert-NOAA
Copy link
Collaborator Author

@GeorgeVandenberghe-NOAA Not yet. Once the CMakeModules submodule gets updated, then this change will be possible. If you want to make the change in your own installation, then just replace CMakeModules with the latest version, then remove the "STATIC" component from PIO in CMakeLists.txt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
5 participants