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

V4.9.0 #140

Merged
merged 26 commits into from
Sep 29, 2022
Merged

V4.9.0 #140

merged 26 commits into from
Sep 29, 2022

Conversation

ocefpaf
Copy link
Member

@ocefpaf ocefpaf commented Jun 13, 2022

Closes #139

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@ocefpaf
Copy link
Member Author

ocefpaf commented Jun 13, 2022

Linux is failing with:

/home/conda/feedstock_root/build_artifacts/libnetcdf_1655124967558/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJreclaim':
ncjson.c:(.text.NCJreclaim+0x0): multiple definition of `NCJreclaim'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text.NCJreclaim+0x0): first defined here
/home/conda/feedstock_root/build_artifacts/libnetcdf_1655124967558/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJnew':
ncjson.c:(.text.NCJnew+0x0): multiple definition of `NCJnew'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text.NCJnew+0x0): first defined here
/home/conda/feedstock_root/build_artifacts/libnetcdf_1655124967558/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJnewstringn':
ncjson.c:(.text.NCJnewstringn+0x0): multiple definition of `NCJnewstringn'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text.NCJnewstringn+0x0): first defined here
/home/conda/feedstock_root/build_artifacts/libnetcdf_1655124967558/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJnewstring':
ncjson.c:(.text.NCJnewstring+0x0): multiple definition of `NCJnewstring'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text.NCJnewstring+0x0): first defined here
/home/conda/feedstock_root/build_artifacts/libnetcdf_1655124967558/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJparse':
ncjson.c:(.text.NCJparse+0x0): multiple definition of `NCJparse'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text.NCJparse+0x0): first defined here
/home/conda/feedstock_root/build_artifacts/libnetcdf_1655124967558/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJdictget':
ncjson.c:(.text.NCJdictget+0x0): multiple definition of `NCJdictget'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text.NCJdictget+0x0): first defined here
/home/conda/feedstock_root/build_artifacts/libnetcdf_1655124967558/_build_env/bin/../lib/gcc/x86_64-conda-linux-gnu/10.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: ../liblib/libnetcdf.a(ncjson.c.o): in function `NCJcvt':
ncjson.c:(.text.NCJcvt+0x0): multiple definition of `NCJcvt'; CMakeFiles/nczhdf5filters.dir/NCZhdf5filters.c.o:NCZhdf5filters.c:(.text.NCJcvt+0x0): first defined here
[ 32%] Building C object plugins/CMakeFiles/nczstdfilters.dir/NCZstdfilters.c.o
collect2: error: ld returned 1 exit status
make[2]: *** [plugins/CMakeFiles/nczhdf5filters.dir/build.make:118: plugins/lib__nczhdf5filters.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:2820: plugins/CMakeFiles/nczhdf5filters.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 32%] Linking CXX shared module lib__nczstdfilters.so
[ 32%] Built target nczstdfilters
make: *** [Makefile:166: all] Error 2

@dopplershift
Copy link
Member

cc @WardF @DennisHeimbigner

@WardF
Copy link
Contributor

WardF commented Jun 13, 2022

I'll take a look to see how to duplicate and then fix this, and will round out our CI as needed; this isn't occurring on our end as-is. Thanks.

@ocefpaf
Copy link
Member Author

ocefpaf commented Jun 13, 2022

I'll take a look to see how to duplicate and then fix this, and will round out our CI as needed; this isn't occurring on our end as-is. Thanks.

BTW, what version of zstd are you using in your CIs?

@DennisHeimbigner
Copy link

The json code occurs twice in our code base: once for use by plugins exclusively
and once for all the rest of the code. I suspect you are accidentally including both versions.
Note that the plugin version is constructed in the makefile from the other version.
If my speculation is correct, I will need to rethink how I build the json code.

@WardF
Copy link
Contributor

WardF commented Jun 13, 2022

I'll take a look to see how to duplicate and then fix this, and will round out our CI as needed; this isn't occurring on our end as-is. Thanks.

BTW, what version of zstd are you using in your CIs?

The version being installed by the underlying package manager, so let me see if I can extract that information.

@kmuehlbauer
Copy link
Contributor

@WardF @DennisHeimbigner Did you had any time to look into this?

@kmuehlbauer
Copy link
Contributor

OK, after a bit of digging this is already in the works somehow: Unidata/netcdf-c#2419

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.

Here's what I've got...

For recipe:

  • pin_compatible should be used instead of pin_subpackage for libnetcdf because it is not a known output of this recipe: ['libnetcdf'].

@kmuehlbauer
Copy link
Contributor

@ocefpaf I've added a patch for this to the PR branch. Let's see if this works.

@kmuehlbauer
Copy link
Contributor

Hmm, the created patch fails to apply...

@kmuehlbauer
Copy link
Contributor

Maybe it wasn't worth the try. Hopefully 4.9.1 is out anytime soon.

@WardF
Copy link
Contributor

WardF commented Sep 28, 2022

It looks like this is passing and ready for somebody else to review and merge. Thanks all!

@ocefpaf
Copy link
Member Author

ocefpaf commented Sep 28, 2022

Thanks @WardF! Indeed it looks like a task that only someone with more intimated knowledge of the source code could fix. While I'm OK merging this, there is a lot of patching and I wonder if it makes sense to wait for a new release in case that is happening soon.

@WardF
Copy link
Contributor

WardF commented Sep 28, 2022

@ocefpaf I wanted to have one out by the end of the month, and that could still happen; if it's not out this week, I'm going to try to have it out next week. This was the largest blocking issue to resolve, but I still have some documentation to add and/or revamp, among all the other sundy day-to-day items we all deal with XD. I don't have any particular insight into the workflow and/or implications of skipping this version in libnetcdf-feedstock, however, so I'll leave that for a broader group discussion :)

@xylar
Copy link
Contributor

xylar commented Sep 28, 2022

@WardF and @ocefpaf, can I push a commit to remove static library builds? It seems like everything else i in place.

@xylar
Copy link
Contributor

xylar commented Sep 28, 2022

Sorry, just getting caught up on the conversation. It sounds like it doesn't make sense to push anymore changes to the branch until we know if we're merging this or waiting for 4.9.1.

@WardF
Copy link
Contributor

WardF commented Sep 29, 2022

Having thought about it, I believe this should be merged; I'll also ensure the patches contained in this (and, moving forward, other) PR's find their way back upstream into the netcdf-c repo.

@dopplershift
Copy link
Member

With the exception of the ncjson patch (taken from upstream), all the patches added here tweak CMake/a few tests (and associated build files), so I'm comfortable that what we have here is fine and would be comfortable merging.

@xylar do you want to make the changes to eliminate the static build?

@xylar
Copy link
Contributor

xylar commented Sep 29, 2022

Thanks, @hmaarrfk! Those are almost exactly the commits I had staged. Except that I didn't think to check that the static library is not there, which is excellent!

@hmaarrfk
Copy link
Contributor

hmaarrfk commented Sep 29, 2022

I think i got it, removing the static.

Copy link
Contributor

@xylar xylar left a comment

Choose a reason for hiding this comment

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

Assuming CI passes, I'm very happy to see this merged.

@dopplershift
Copy link
Member

With all that said, we probably want to wait for the (soon-to-be-released) 4.9.1 to think about migrating downstream compiled packages.

@xylar
Copy link
Contributor

xylar commented Sep 29, 2022

@dopplershift, I think that probably makes sense. Have this version available but not migrate to it?

@dopplershift
Copy link
Member

@xylar Yeah. We can always decide to migrate if for some reason 4.9.1 becomes delayed, but that shouldn't be the case. No need to do two migrations in rapid succession, but having it available can also allow for some more testing by interested users.

@xylar
Copy link
Contributor

xylar commented Sep 29, 2022

Who dares hit the green button?

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

Successfully merging this pull request may close these issues.

9 participants