Skip to content

Update superlu-dist package.py to support latest release v6.0.0#9445

Merged
balay merged 3 commits intospack:developfrom
gchavez2:superlu_dist_v600
Oct 11, 2018
Merged

Update superlu-dist package.py to support latest release v6.0.0#9445
balay merged 3 commits intospack:developfrom
gchavez2:superlu_dist_v600

Conversation

@gchavez2
Copy link
Copy Markdown
Contributor

@gchavez2 gchavez2 commented Oct 5, 2018

Update spack script of superlu-dist to use CMake build

Copy link
Copy Markdown
Member

@davydden davydden left a comment

Choose a reason for hiding this comment

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

Could you explicitly specify Blas/Lapack as it was done before in make build?

Also, does CMake build works for all package versions?

@davydden davydden requested a review from balay October 5, 2018 21:02
Copy link
Copy Markdown
Member

@davydden davydden left a comment

Choose a reason for hiding this comment

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

most likely old version don't support CMake build, also we need to explicitly specify BLAS/Lapack so that it links against specific set of libs (i.e. non-threaded MKL as opposed to OpenMP/TBB variants).

@balay
Copy link
Copy Markdown
Contributor

balay commented Oct 10, 2018

@davydden, how do we implement:

if version >5.4: use cmakebuild - else: use (old) make.inc build

@gchavez2, for blas fix - please cherry-pick 547f071 into your PR branch

@balay balay added the xSDK label Oct 10, 2018
@healther
Copy link
Copy Markdown
Contributor

healther commented Oct 10, 2018

@balay I overwrote the install phases that CmakePackage implements and just reimplemented the install method to do the "old" build. See for example the NEST package, other packages derive from Package and implement everything themselves

@davydden
Copy link
Copy Markdown
Member

davydden commented Oct 10, 2018

@gchavez2 @balay

how do we implement: if version >5.4: use cmakebuild - else: use (old) make.inc build

look at https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/superlu/package.py which combines Make and Cmake for different versions.

@balay
Copy link
Copy Markdown
Contributor

balay commented Oct 10, 2018

@davydden , @healther, thanks for the pointers.

The cmake build works for versions 5.0.0+ higher. And @xiaoyeli indicated we should ignore older versions of superlu-dist.

So is 1ef218e ok?

@davydden
Copy link
Copy Markdown
Member

And @xiaoyeli indicated we should ignore older versions of superlu-dist. So is 1ef218e ok?

I am fine with that.

@balay
Copy link
Copy Markdown
Contributor

balay commented Oct 10, 2018

@davydden Thanks! I guess if there is a real need to support older versions - we could add it [using the mentioned examples]

@gchavez2 can you cherry-pick the above 2 commits into your PR branch - so that the PR gets updated? [or grab the patches - and apply them.]

disable support for superlu-dist before v5
@gchavez2
Copy link
Copy Markdown
Contributor Author

I updated the spack script by specifying lapack_blas and DCMAKE_INSTALL_LIBDIR
and I disabled support for superlu-dist before v5, double checking with @xiaoyeli

Thanks @balay @davydden and @healther

@balay
Copy link
Copy Markdown
Contributor

balay commented Oct 10, 2018

@gchavez2, you missed:

-    url      = "https://github.com/xiaoyeli/superlu_dist/archive/v6.0.0.tar.gz"
+    url      = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_dist_6.0.0.tar.gz"
<snip>
-    version('6.0.0', '2e3ce927fa5786470dacbdf8c41afb08')
+    version('6.0.0', '4e57072c3be26809d271bf1adc15c834')

Either this - or recompute the md5sums for versions 5.0.0 to 5.4 for github url

@balay balay merged commit 4b50928 into spack:develop Oct 11, 2018
ptbremer pushed a commit to ptbremer/spack that referenced this pull request Oct 12, 2018
…k#9445)

* superlu-dist: Update package.py for superlu-dist v6.0.0 using CMake

* superlu_dist: Update the header of package.py

* Specify lapack_blas and DCMAKE_INSTALL_LIBDIR
disable support for superlu-dist before v5
baberlevi pushed a commit to ResearchIT/spack that referenced this pull request Oct 29, 2018
…k#9445)

* superlu-dist: Update package.py for superlu-dist v6.0.0 using CMake

* superlu_dist: Update the header of package.py

* Specify lapack_blas and DCMAKE_INSTALL_LIBDIR
disable support for superlu-dist before v5
@citibeth
Copy link
Copy Markdown
Member

@gchavez2 @balay @scheibelp

Please.... we cannot simply remove old versions of a package just because we added a new version.

@balay... Removing old versions should never have been approved or merged, without first carefully checking whether people use the old versions that are being removed. In this case such a check would have turned up that petsc/package.py uses version 4.3. Removing old versions broke the petsc build in mysterious ways, leading to wasted time and spurious / mysterious bug reports (see #12938).

Can you please submit and merge a PR to restore the old versions that were removed here? Thank you!

@sethrj
Copy link
Copy Markdown
Contributor

sethrj commented Jun 17, 2020

Ugh ditto @citibeth -- I spent the last half hour figuring out why [email protected] was failing to build. The second half of that bug is that somehow the petsc package's depends_on('superlu-dist@:4.3~int64', when='@3.4.4:3.6.4+superlu-dist+mpi~int64')
caused the concretizer to accept ^[email protected] as a valid version. See new issue #17145 .

cc also @gchavez2 @scheibelp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants