Skip to content

Extensive modifications to NetCDF package#400

Merged
tgamblin merged 1 commit intospack:developfrom
adamjstewart:features/netcdf
Jan 27, 2016
Merged

Extensive modifications to NetCDF package#400
tgamblin merged 1 commit intospack:developfrom
adamjstewart:features/netcdf

Conversation

@adamjstewart
Copy link
Copy Markdown
Member

This pull request is currently blocked by #339. Until the new HDF package is added, I won't be able to test my changes. Please let me know if there is anything preventing #339 from being merged and I will fix it.

I'm not sure how well the new experimental feature for building NetCDF-Fortran works. If it doesn't work, I'll just have to add a separate NetCDF-Fortran package.

@tgamblin
Copy link
Copy Markdown
Member

Does NetCDF have two build systems? Looks like the old version used cmake and the new one uses autotools. Any reason to prefer one or the other?

@tgamblin
Copy link
Copy Markdown
Member

Merging for now. We can revive the cmake build if needed.

tgamblin added a commit that referenced this pull request Jan 27, 2016
Extensive modifications to NetCDF package
@tgamblin tgamblin merged commit 90750f5 into spack:develop Jan 27, 2016
@adamjstewart
Copy link
Copy Markdown
Member Author

You've always been able to build NetCDF with autotools. However, as of version 4.3.0, they've added support so that you can build it with CMake. Honestly, I've never used CMake before. I just chose autotools because that's how we had been building it at Argonne and because it matched most of the other packages in Spack. One advantage of CMake is that you can build on Windows (don't think this is important for us). One advantage of autotools is that you can build NetCDF prior to version 4.3.0. If you want I can switch it back to CMake. I have no allegiances :)

@tgamblin
Copy link
Copy Markdown
Member

@mathstuf did the cmake build. He works for kitware though :).I

@mathstuf: any preference? One advantage of the cmake build would be if it installs cmake configs and autotools doesn't. I've seen that happen on other packages. The cmake configs make packages easy to find from other cmake projects.

@adamjstewart adamjstewart deleted the features/netcdf branch January 27, 2016 15:09
@mathstuf
Copy link
Copy Markdown
Contributor

The switch to CMake was done in #128 where netcdf needed to link to MPI, but I couldn't decipher the autotools to see how to get it done. Really, as long as that MPI linking works fine, it doesn't matter to me which build system is used.

@adamjstewart
Copy link
Copy Markdown
Member Author

I'm currently having some issues getting NetCDF to link to the hdf4 df library, so it's not perfect yet. But if I can't get everything working with autotools I'll switch it back to CMake and work from there.

@tgamblin
Copy link
Copy Markdown
Member

Ok sounds good. If there's a future dependent package that wants cmake configs we could consider switching too, but looks good to me.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@tgamblin : I was wondering what is our position regarding options that trigger the download of additional material. In the past we avoided them (e.g. gcc script to download dependencies), but sometimes they simplify your life a lot...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this type of download is very similar to a resource, so it doesn't bother me so much. Of course, I didn't check if they sync the versions properly in here, so that would be a problem.

Basically I'm ok with downloading extra resources as long as the versions are locked (like LLVM). It would be nice if Spack did the download, but in this case it seems way simpler to allow the Fortran bootstrap to happen in a single netcdf package, although we may need two packages eventually...

What I mainly want to avoid is missing provenance. If a package is downloading an arbitrary version of something, and if that thing is not tracked, then it probably needs to be made into a properly versioned package to let Spack deal with the combinatorial part, and not the packager/user.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for the clarification.

@adamjstewart adamjstewart mentioned this pull request May 3, 2016
4 tasks
matz-e pushed a commit to matz-e/spack that referenced this pull request Apr 27, 2020
* Added version printing in neurodamus

* Changed preferred version of neurodamus-core to 2.3.4
climbfuji added a commit to climbfuji/spack that referenced this pull request Mar 7, 2024
…s_mods

revert jcsda modifications to lib/.../modules/*
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.

4 participants