Skip to content

Add PLASMA version 18.11.0 and Lua variant#9689

Merged
balay merged 2 commits intospack:developfrom
luszczek:develop
Nov 28, 2018
Merged

Add PLASMA version 18.11.0 and Lua variant#9689
balay merged 2 commits intospack:developfrom
luszczek:develop

Conversation

@luszczek
Copy link
Copy Markdown
Contributor

Add PLASMA version 18.11.0 and Lua variant

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

balay commented Oct 31, 2018

@luszczek, I was expecting code of type:

if '+lua' in self.spec:
  enable lua and specify include/libs via cmake
else:
  disable lua via cmake

Right now 'spack install plasma~lua` is doing:

-- Found Lua: /usr/lib64/liblua-5.3.so;/usr/lib64/libm.so (found version "5.3.5")

@luszczek
Copy link
Copy Markdown
Contributor Author

luszczek commented Nov 1, 2018

It seems you have Lua integrated in your system. PLASMA picks it as intended. If Lua was missing, PLASMA would gracefully fall back to no-Lua configuration, by design.
There is no functionality in PLASMA to actively avoid Lua even it is an integral part of the system. Spack variant that enables Lua is meant to inform Spack that should provide Lua to PLASMA. You could imagine switching versions of Lua that Spack makes available to PLASMA when this variant is enabled.

@balay
Copy link
Copy Markdown
Contributor

balay commented Nov 1, 2018

I hope you reconsider the design and provide a cmake option to disable Lua check.

Either Lua is optional or mandatory.

If optional - it should be truly optional. i.e when user asks plasma~lua - it should not pick it up from user enviornment - just because it could find it..

@scheibelp
Copy link
Copy Markdown
Member

@luszczek is there a reason to add a variant if PLASMA always needs LUA? Do you prefer to use the system-provided LUA if it's available? For that you can use an external packages (
https://spack.readthedocs.io/en/latest/build_settings.html#external-packages) although if you find that onerous, we can be flexible. I think it's worth knowing why you prefer it that way though.

@luszczek
Copy link
Copy Markdown
Contributor Author

Lua has been optional since version 17 so I made detection of Lua optional and fully controlled by Spack. Choosing a Lua variant in Spack will make the build fail if Lua is missing. External Lua installations from system directories will not be detected unless building with Lua variant.

@balay
Copy link
Copy Markdown
Contributor

balay commented Nov 28, 2018

works for me (checked on one of the builds with system lua installed - and plasma is not picking it anymore with ~lua) - so merging this in.

@balay balay merged commit 8375b5b into spack:develop Nov 28, 2018
@luszczek
Copy link
Copy Markdown
Contributor Author

Thank you!

gsjaardema pushed a commit to gsjaardema/spack that referenced this pull request Nov 29, 2018
* Add PLASMA 18.11.1 with optional Lua and test for headers
adamjstewart pushed a commit that referenced this pull request Dec 17, 2018
* SEACAS: Add preliminary support for seacas package

* Eliminate leftover from package I copied from.

* And remove another stray line

Sorry, thought I had checked this better...

* SEACAS: Shorten long lines; fixup indentation

* SEACAS: Remove unused os import

* Add PLASMA version 18.11.0 and Lua variant (#9689)

* Add PLASMA 18.11.1 with optional Lua and test for headers

* New versions for a few python modules (#9969)

* py-jupyter-console: Add version 5.2.0

* py-jupyter-core: add version 4.4.0

* py-lxml: add version 4.2.5

* py-zmq: add version 17.1.2

* py-terminado: add version 0.8.1

* py-pexpect: add version 4.6.0

* py-pytables: add version 3.4.4

* SEACAS: Default to mpi on

* SEACAS: Modify to reduce variants

Instead of using an `allpkgs` or explicitly specifying each individual subset,
changed to minimize variants:
 * By default, the exodus and IOSS libraries are built and a few
   executables directly related to the IOSS library.
 * variant `common` defaults to True and builds the "common" seacas
   applications.  This is based on my definition, so there may be
   could be some discussion on what belongs here.
 * variant `legacy` defaults to True and builds the remainder of the
   seacas applications.  These are still used, but mainly in more
   esoteric areas.  Might be better to default to False, but I wanted
   default to just build everything which is what other SEACAS builds
   always do...

Removed the `kokkos` variants for now as I need to do some more
thinking on how best to support this.  Not often used currently,
so shouldn't be an issue.

Cleaned up other issues raised by Adam and found by me.

* SEACAS: Address flake8 issues

* SEACAS: Clean up variant package logic

Fixed package variant logic.
Consolidated some other variant handling logic
Other minor refactors for hopefully better readability

* SEACAS: Fix flake8 error

Missing whitespace around operator fixed.
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.

3 participants