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

triangle dependency in spack compilation of ISSM #195

Open
justinh2002 opened this issue Feb 18, 2025 · 3 comments
Open

triangle dependency in spack compilation of ISSM #195

justinh2002 opened this issue Feb 18, 2025 · 3 comments
Assignees

Comments

@justinh2002
Copy link

Description:

There is an issue with spack compilation of ISSM associated with the triangle dependency in the ISSM package. The ISSM package applies three different patches to the original triangle hosted on the CMU/Netlib website. However, the spack version of triangle takes the original triangle hosted on CMU/Netlib and installs it, and the mirrored version on GitHub of triangle is not identical to those two.

Steps to Reproduce:

  1. Attempt to install the ISSM package with the triangle dependency from mirrored Github version.
  2. Observe that the ISSM patches applied to the triangle dependency are incompatible with the mirrored version on GitHub.

Expected Behavior:

The triangle dependency in the Github mirror should be consistent with the original version hosted on the CMU website and should correctly apply the necessary patches.

Actual Behavior:

The mirrored version on GitHub of triangle is not identical to the original version hosted on the CMU/Netlib website, causing issues with the patches applied by the ISSM package.

Misc. context

ISSM package version: 4.24
triangle dependency source: CMU website and GitHub mirror

@justinh2002
Copy link
Author

Note further that the triangle package in ISSM unzips a tarball that is hosted on the ISSM website, whereas the Github mirror is based off the package hosted in Netlib in the voronoi directory. Both tarball sources are identical as of writing, but the Github mirror does introduce some changes to the original source files.

Specifically, its main change is that it converts the source code (triangle.c, triangle.h) in C into C++ compilable code.

For more context about triangle, see extraneous details on the CMU website.

@justinh2002 justinh2002 self-assigned this Feb 18, 2025
@justinh2002
Copy link
Author

Strategy is to destroy existing fork of triangle in ACCESS (https://github.com/ACCESS-NRI/access-triangle), then create a new repository that unzips the Netlib tarball (https://www.netlib.org/voronoi/index.html), applies the ISSM patches in three separate commits, then use access-triangle as the dependency for spack package.py of ISSM.

@justinh2002
Copy link
Author

see new repo:

https://github.com/ACCESS-NRI/issm-triangle

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

No branches or pull requests

1 participant