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

[gompi/2022.05] in-place update to netCDF v4.9.0 #15677

Merged
merged 4 commits into from
Jun 23, 2022

Conversation

boegel
Copy link
Member

@boegel boegel commented Jun 13, 2022

I intended to actually open #15676 with netCDF v4.9.0, but apparently I managed to screw that up 😅

(opened as draft PR, because compilation fails even though it worked fine with v4.8.1...)

@boegel
Copy link
Member Author

boegel commented Jun 13, 2022

@boegelbot please test @ generoso

@boegelbot
Copy link
Collaborator

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

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

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

Test results coming soon (I hope)...

- notification for comment with ID 1154235429 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
FAILED
Build succeeded for 0 out of 1 (1 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/d6033fc36e12f40370953eee16f8293f for a full test report.

@jfgrimm
Copy link
Member

jfgrimm commented Jun 16, 2022

/project/boegelbot/Rocky8/haswell/software/binutils/2.38-GCCcore-11.3.0/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJreclaim':
ncjson.c:(.text+0xa50): multiple definition of `NCJreclaim'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text+0xac0): first defined here
/project/boegelbot/Rocky8/haswell/software/binutils/2.38-GCCcore-11.3.0/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJnew':
ncjson.c:(.text+0xb10): multiple definition of `NCJnew'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text+0xb80): first defined here
/project/boegelbot/Rocky8/haswell/software/binutils/2.38-GCCcore-11.3.0/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJnewstringn':
ncjson.c:(.text+0xb60): multiple definition of `NCJnewstringn'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text+0xbd0): first defined here
/project/boegelbot/Rocky8/haswell/software/binutils/2.38-GCCcore-11.3.0/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJnewstring':
ncjson.c:(.text+0xc20): multiple definition of `NCJnewstring'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text+0xc90): first defined here
/project/boegelbot/Rocky8/haswell/software/binutils/2.38-GCCcore-11.3.0/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJparse':
ncjson.c:(.text+0x1160): multiple definition of `NCJparse'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text+0x1080): first defined here
/project/boegelbot/Rocky8/haswell/software/binutils/2.38-GCCcore-11.3.0/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJdictget':
ncjson.c:(.text+0x1190): multiple definition of `NCJdictget'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text+0x11a0): first defined here
/project/boegelbot/Rocky8/haswell/software/binutils/2.38-GCCcore-11.3.0/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJcvt':
ncjson.c:(.text+0x1220): multiple definition of `NCJcvt'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text+0x1230): first defined here

@branfosj
Copy link
Member

It is not the cause of the build failure we are seeing, but we must add https://patch-diff.githubusercontent.com/raw/Unidata/netcdf-c/pull/2412.patch in to get the correct library name.

@branfosj
Copy link
Member

The:

# HDF5 version detection is missed in netCDF 4.8.1 when HDF5_C_LIBRARY, HDF5_INCLUDE_DIR, and HDF5_HL_LIBRARY are set
local_hdf5_version_fix = '-DHDF5_VERSION=$EBVERSIONHDF5'

is no longer needed.

Also, this issue is in building the static libs (-DBUILD_SHARED_LIBS=OFF). The failure does not happen when building the shared libs (-DBUILD_SHARED_LIBS=ON).

@boegel
Copy link
Member Author

boegel commented Jun 22, 2022

I've opened an issue upstream for this: Unidata/netcdf-c#2419

@zao
Copy link
Contributor

zao commented Jun 22, 2022

I commented with a bit of analysis in the upstream issue, a workaround for us may be to patch netcdf_json.h to have the function declarations and definitions static to prevent them from having linkage. Haven't tested this outside of a standalone repro case.

@boegel boegel marked this pull request as ready for review June 23, 2022 08:30
@boegel
Copy link
Member Author

boegel commented Jun 23, 2022

@boegelbot please test @ generoso

@boegelbot
Copy link
Collaborator

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

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

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

Test results coming soon (I hope)...

- notification for comment with ID 1164114153 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).

@boegel
Copy link
Member Author

boegel commented Jun 23, 2022

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3138.skitty.os - Linux RHEL 8.4, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (skylake_avx512), Python 3.6.8
See https://gist.github.com/e76f04add8a812e808e59da149a0d69f for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 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/956d3a95dba88d789168a4e89aaa4de8 for a full test report.

@branfosj
Copy link
Member

Test report by @branfosj
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bear-pg0105u36b.bear.cluster - Linux RHEL 8.6, x86_64, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz (icelake), Python 3.6.8
See https://gist.github.com/d35ddebedb4d347ed05e0e7bd614a719 for a full test report.

@branfosj
Copy link
Member

Test report by @branfosj
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bear-pg0211u03a.bear.cluster - Linux RHEL 8.6, x86_64, Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz (cascadelake), Python 3.6.8
See https://gist.github.com/5069393d6e047eca078099ad4e25c203 for a full test report.

@branfosj
Copy link
Member

@boegelbot please test @ jsc-zen2

@boegelbot
Copy link
Collaborator

@branfosj: Request for testing this PR well received on jsczen2l1.int.jsc-zen2.easybuild-test.cluster

PR test command 'EB_PR=15677 EB_ARGS= /opt/software/slurm/bin/sbatch --job-name test_PR_15677 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen2.sh' executed!

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

Test results coming soon (I hope)...

- notification for comment with ID 1164165503 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).

@branfosj
Copy link
Member

Test report by @branfosj
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bear-pg0211u03a.bear.cluster - Linux Ubuntu 20.04.2 LTS (Focal Fossa), x86_64, Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz (cascadelake), Python 3.8.5
See https://gist.github.com/4ad92b4dfecf8fc97272159ae476e08c for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen2c1.int.jsc-zen2.easybuild-test.cluster - Linux Rocky Linux 8.5, x86_64, AMD EPYC 7742 64-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/62200f598fc4a7a8f1f9a8d7c7d92d15 for a full test report.

Copy link
Member

@branfosj branfosj left a comment

Choose a reason for hiding this comment

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

lgtm

@branfosj
Copy link
Member

Going in, thanks @boegel!

@branfosj branfosj merged commit fc56c2b into easybuilders:develop Jun 23, 2022
@boegel
Copy link
Member Author

boegel commented Jun 23, 2022

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node3601.doduo.os - Linux RHEL 8.4, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/89f8e5a4dc87489ded04da5a791de61b for a full test report.

@boegel
Copy link
Member Author

boegel commented Jun 23, 2022

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
fair-mastodon-c6g-2xlarge-0001 - Linux Rocky Linux 8.5, AArch64, ARM UNKNOWN (graviton2), Python 3.6.8
See https://gist.github.com/338898ca1d25185e90bd36c9cd895a45 for a full test report.

@boegel boegel deleted the 20220613164029_new_pr_netCDF481 branch June 23, 2022 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants