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

Update to version 1.12 #122

Merged
merged 17 commits into from
Aug 3, 2020
Merged

Update to version 1.12 #122

merged 17 commits into from
Aug 3, 2020

Conversation

djhoese
Copy link
Contributor

@djhoese djhoese commented Jul 18, 2020

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

Version 1.12 wasn't picked up for some reason so this is my manual update. I've never even built HDF5 myself, but want to play with this version so let's see how this goes. I'd like to try adding --enable-ros3-vfd if it isn't auto-added, but I'm not sure where it needs to go.

Closes #121

@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.

I do have some suggestions for making it better though...

For recipe:

  • License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

Learn how to download the right source tarball.
@djhoese
Copy link
Contributor Author

djhoese commented Jul 18, 2020

I should also point out this note from the release announcements:

Compatibility with Previous Releases

This release required changes to existing APIs. Applications that were created with earlier HDF5 releases may not compile with 1.12 by default. The API Compatibility Macros in HDF5 allow users to work around this issue. Users can specify a compatibility macro mapping for the version of HDF5 that an application was built with. For example, a 1.10 application can be built with 1.12 using either an application or library mapping as follows:

    To compile an application built with a version of HDF5 that includes deprecated symbols (the default), specify: -DH5_USE_110_API (autotools) or –DH5_USE_110_API:BOOL=ON (CMake)
    To build an HDF5 library with the 1.10 APIs specify --with-default-api-version=v110 (Autotools) or -DDEFAULT_API_VERSION:STRING=v110 (CMake).

However, users will not be able to take advantage of some of the new features in 1.12 if using these compatibility mappings.

Also be aware that the CMake minimum version is now 3.12 and CMake 3.15 is recommended for the best build experience. Windows requires a minimum of CMake 3.14 and CMake 3.15 is required for VS 2019 support.

@beckermr
Copy link
Member

Yeah we need to check the abi compat and our pinnings for sure.

@scopatz
Copy link
Member

scopatz commented Jul 19, 2020

hdf5 is pinned, so having this won't mean it is used. I am pretty sure that h5py isn't compatible with 1.12 yet

@scopatz
Copy link
Member

scopatz commented Jul 19, 2020

Also, looks like there is a Travis Error

@djhoese
Copy link
Contributor Author

djhoese commented Jul 19, 2020

Also, looks like there is a Travis Error

And it's a weird one. At least in this one it looks like it was in the middle of printing some output when travis says it was timing out.

In the other job I see:

configure: WARNING: unrecognized options: --enable-linux-lfs, --enable-fortran2003, --enable-clear-file-buffers, --with-ssl

I wonder if the conda-forge package has been using options that don't exist anymore or haven't existed for a while.

@scopatz
Copy link
Member

scopatz commented Jul 20, 2020

hmm you just rerendered. It might be worth bringing up on conda-smithy. I haven't seen this in other feedstocks though

@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.

@djhoese
Copy link
Contributor Author

djhoese commented Jul 20, 2020

Looks like --with-ssl was deprecated in v1.8.0.

--enable-linux-lfs was replaced with --enable-largefile in 1.8.5

Looks like --enable-fortran2003 isn't needed anymore and is included as part of --enable-fortran (see this commit for details).

Looks like --enable-clear-file-buffers is always enabled now due to security concerns (see this commit for details).

I'll update the build scripts to hopefully remove the warnings. Still doesn't explain the travis timeouts. @scopatz you think this is something I should file with conda-smithy?

@scopatz
Copy link
Member

scopatz commented Jul 20, 2020

I think the timeouts are definitely related to this package in some way. You can feel free to open an issue on conda-smithy, though

@djhoese
Copy link
Contributor Author

djhoese commented Jul 24, 2020

Not entirely sure but I think the --enable-largefile flag is no longer use either. Seems like in 1.10 there was an overhaul and it might not be recognized anymore: https://github.com/HDFGroup/hdf5/blob/e54f5a14d28cf9eb1226ce7feab2e2600d3984b4/release_docs/HISTORY-1_10.txt#L3143-L3153

@djhoese
Copy link
Contributor Author

djhoese commented Jul 24, 2020

Ok so I'm not sure where to go from here. The last build in master had all the same warnings and errors that I'm seeing on travis (granted it was run 7 months ago). I've gotten rid of all deprecated or unrecognized warnings. There is one error during configure where it wants to use /usr/bin/file and it doesn't exist, but that error is in the master branch build of 1.10.x too.

I don't seem to be able to run the travis images on my laptop (exec user process caused "exec format error") and the builds succeed everywhere else. If none of the conda-forge package maintainers are with the HDF group then maybe I can file a ticket with the HDF Group and see if they have ideas.

Any other ideas?

Edit: Or if we want to enable debug mode on the travis jobs so I can SSH in to the machine but even then I'm not sure I'd find anything useful.

Edit 2: My other thought was maybe I botched updating the patches, but all of them seem to deal with the tests which I don't think the travis builds are even close to touching.

@scopatz
Copy link
Member

scopatz commented Jul 26, 2020

I am trying to restart the failed jobs

@djhoese
Copy link
Contributor Author

djhoese commented Jul 26, 2020

I am trying to restart the failed jobs

Wait, @scopatz, what did you do? Now one of the 3 environments on travis is passing and the other two have actual errors. Every commit I've done in this PR has resulted in travis hanging and saying no output for 10 minutes. Did you change something else besides just restarting the tests?

@scopatz
Copy link
Member

scopatz commented Jul 26, 2020

No - all I did was restart the tests on travis. Maybe we should try build power in emulated mode on Azure, instead of travis, just to see if that works?

@djhoese
Copy link
Contributor Author

djhoese commented Jul 27, 2020

build power in emulated mode on Azure

How do I do that? I know these words individually but no idea what you mean when you put them all together like that. 😉

@scopatz
Copy link
Member

scopatz commented Jul 27, 2020

So where things are run is based on the conda-forge.yml file in the root level directory of the feedstock. We need to change the provider entry, which is documented at https://conda-forge.org/docs/maintainer/conda_forge_yml.html#provider

So basically, you need to go to https://github.com/conda-forge/hdf5-feedstock/blob/master/conda-forge.yml#L6, change linux_ppc64le to have a value of azure, and then rerender.

@djhoese
Copy link
Contributor Author

djhoese commented Jul 27, 2020

Looks like the same error: https://cloud.drone.io/conda-forge/hdf5-feedstock/16/1/2

@scopatz
Copy link
Member

scopatz commented Jul 27, 2020

This seems like a bug upstream then

@djhoese
Copy link
Contributor Author

djhoese commented Aug 2, 2020

I merged master and rerender, put the ppc builds back on travis, and now I'm back to two of the travis jobs timing out. Looks like @beckermr merged #123 with some timed out travis jobs. Doesn't this mean that some builds/packages are missing? So summary of this PR so far:

  1. Updated source to version 1.12
  2. Recreated patches for new version.
  3. All builds pass except travis which has two or more time out builds.
  4. @scopatz restarts the builds and then some of them pass, some fail with error "configure: error: cannot run test program while cross compiling" even though we were getting past this step in the timed out builds.
  5. I changed travis job to run on Azure instead. Results in same cross compiling error.
  6. Bump build number #123 was merged to master, I merged it into this PR and switch ppc jobs back to travis. Results in timed out builds again.

🤷

I suppose I could contact the HDF5 group and ask if they have any advice on this.

@beckermr
Copy link
Member

beckermr commented Aug 2, 2020

#123 was a rerender which would have happened no matter what.

If jobs are timing out then we need to move to the build servers.

@djhoese
Copy link
Contributor Author

djhoese commented Aug 3, 2020

If jobs are timing out then we need to move to the build servers.

I know this probably isn't what you meant but I've moved the ppc jobs to azure again because this was @scopatz's original guess at making the tests have more power. Last time I did it though is when I was getting the "cross compiling" error. Let's see what happens this time. I assume from context that Azure has more power so should generally perform better.

@djhoese
Copy link
Contributor Author

djhoese commented Aug 3, 2020

It worked! It worked? It worked 😨

@beckermr
Copy link
Member

beckermr commented Aug 3, 2020

Azure is emulated but has a longer time limit. Idk how that eventually shakes out but building in an emulated env is generally slower.

@scopatz
Copy link
Member

scopatz commented Aug 3, 2020

Seems like it worked!

@scopatz scopatz merged commit 2607fe8 into conda-forge:master Aug 3, 2020
@scopatz
Copy link
Member

scopatz commented Aug 3, 2020

Cool thanks so much @djhoese!

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.

Upgrade to version 1.12
4 participants