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

{geo}[gompi/2021b] GOTM v6.0.3, FABM v1.0.3, Fortran-YAML v20210420, flexout v20220209 #15837

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

lexming
Copy link
Contributor

@lexming lexming commented Jul 12, 2022

(created using eb --new-pr)

GOTM v6.0.3 plus its dependencies.

The variant of GOTM with STIM requires building both packages at the same time due to a circular dependency:

  1. GOTM needs the gotm_stim_driver.mod from STIM
  2. STIM needs settings.mod from GOTM to build the driver

So I made a single easyconfig pulling the sources of both and using a versionsuffix to differentiate this build from the regular non-STIM one.

…20220209-gompi-2021b.eb, FABM-1.0.3-GCC-11.2.0.eb, GOTM-6.0.3-gompi-2021b.eb, GOTM-6.0.3-gompi-2021b-stim.eb and patches: flexout-20220209_use_eb_deps.patch, GOTM-6.0.3_use_eb_deps.patch, GOTM-6.0.3_use_gotm_stim_driver.patch
@lexming lexming added the new label Jul 12, 2022
@lexming lexming changed the title {geo}[gompi/2021b] Fortran-YAML v20210420, flexout v20220209, FABM v1.0.3, ... {geo}[gompi/2021b] GOTM v6.0.3, FABM v1.0.3, Fortran-YAML v20210420, flexout v20220209 Jul 12, 2022
@lexming lexming mentioned this pull request Jul 12, 2022
4 tasks
@boegelbot

This comment was marked as outdated.

@lexming
Copy link
Contributor Author

lexming commented Jul 12, 2022

@boegelbot: please test @ generoso

@boegelbot
Copy link
Collaborator

@lexming: Request for testing this PR well received on login1

PR test command 'EB_PR=15837 EB_ARGS= /opt/software/slurm/bin/sbatch --job-name test_PR_15837 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 8851

Test results coming soon (I hope)...

- notification for comment with ID 1181681711 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 5 out of 5 (5 easyconfigs in total)
cns1 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/af204696c474a925362287962ad01e4c for a full test report.


github_account = 'BoldingBruggeman'
source_urls = [GITHUB_LOWER_SOURCE]
sources = ['%s.tar.gz' % local_commit]
Copy link
Contributor

Choose a reason for hiding this comment

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

I prefer this for unversioned downloads

sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}]

that way the downloaded filename has a more clear relation to the naming of the easyconfig.

homepage = 'https://github.com/BoldingBruggeman/fortran-yaml'
description = "Lightweight YAML parser written in object-oriented Fortran."

toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
Copy link
Contributor

Choose a reason for hiding this comment

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

Since this is Fortran and it's using fortran modules it must live under GCC, not GCCcore.
The Fortran modules are not shareable between Intel and GCC.

Thus also drop the binutils dep

('netCDF-Fortran', '4.5.3'),
]

configopts = '-DBUILD_SHARED_LIBS=ON -DNetCDF_INCLUDE_DIRS=$EBROOTNETCDFMINFORTRAN/include'
Copy link
Contributor

Choose a reason for hiding this comment

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

Use

build_shared_libs = True

instead of -DBUILD_SHARED_LIBS=ON

- endif()
- add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/extern/fortran-yaml" "${CMAKE_CURRENT_BINARY_DIR}/extern/yaml")
- set_property(TARGET yaml PROPERTY FOLDER flexout)
+ include_directories(SYSTEM "$ENV{EBROOTFORTRANMINYAML}/include")
Copy link
Contributor

Choose a reason for hiding this comment

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

Should not really be necessary to use include_dir... here, it's automatically included by the CMake easyblock through CPATHS

I.e. It should work if you just drop the whole check but you'll need to verify it.

('netCDF-Fortran', '4.5.3'),
]

configopts = '-DBUILD_SHARED_LIBS=ON '
Copy link
Contributor

Choose a reason for hiding this comment

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

Use build_shared_libs = True instead

('netCDF-Fortran', '4.5.3'),
]

configopts = '-DBUILD_SHARED_LIBS=ON '
Copy link
Contributor

Choose a reason for hiding this comment

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

Use build_shared_libs = True instead

Comment on lines +20 to +24
+include_directories(SYSTEM
+ "$ENV{EBROOTFLEXOUT}/include"
+ "$ENV{EBROOTFORTRANMINYAML}/include"
+ "$ENV{EBROOTNETCDFMINFORTRAN}/include"
+)
Copy link
Contributor

Choose a reason for hiding this comment

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

Should not be needed, but please verify

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants