Hello Alan, I added the SitePackage.lua to my environment (see below), but always get the following error:
heckes:~/lmodhooks> module cat
/usr/bin/lua5.3: error loading module 'SitePackage' from file
'/home/heckes/lmodhooks/SitePackage.lua':
/home/heckes/lmodhooks/SitePackage.lua:142: syntax error near '='
stack traceback:
[C]: in ?
[C]: in function 'require'
/usr/local/lmod/lmod/libexec/utils.lua:1051: in function
'initialize_lmod'
/usr/local/lmod/lmod/libexec/lmod:357: in function 'main'
/usr/local/lmod/lmod/libexec/lmod:582: in main chunk
[C]: in ?
I don’t see an error in the SitePackage.lua file (Also tried different option
to download and store the file)
The installed ‘OS’ RPM for lua version 5.3. seems to work without the
SitePackage.lua file. Do you have any idea?
Cheers,
-Frank
LMOD RTE:
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
Installation done from the cloned TACC git repo using ./configure
--prefix=/usr/local --with-lua_include=ans
heckes:~/lmodhooks> module --version
Modules based on Lua: Version 8.7.14 (8.7.14-6-ge594a373) 2022-11-01 10:59
-05:00
by Robert McLay [email protected]
heckes:~/lmodhooks> echo $LMOD_PACKAGE_PATH
/home/heckes/lmodhooks
heckes:~/lmodhooks> mv hurz SitePackage.lua
heckes:~/lmodhooks> module --version
/usr/bin/lua5.3: error loading module 'SitePackage' from file
'/home/heckes/lmodhooks/SitePackage.lua':
/home/heckes/lmodhooks/SitePackage.lua:142: syntax error near '='
stack traceback:
[C]: in ?
[C]: in function 'require'
/usr/local/lmod/lmod/libexec/utils.lua:1051: in function
'initialize_lmod'
/usr/local/lmod/lmod/libexec/lmod:357: in function 'main'
/usr/local/lmod/lmod/libexec/lmod:582: in main chunk
[C]: in ?
From: [email protected] <[email protected]> On
Behalf Of Alan O'Cais
Sent: Thursday, 10 November 2022 12:34
To: [email protected]
Subject: Re: [easybuild] CategorizedHMNS: easybuild installation method
Here's what some output looks like from using that hook:
[ocaisa@gpunode1 hier]$ module cat
To get a list of every module in a category execute:
$ module category Foo
------------------------------------------------------------- List of
Categories --------------------------------------------------------------
Catchall: This is everything
│ ├──Develop: This is develop
│ │ ├──Tools: This is tools
│ │ │ ├──MPI: This is MPI
│ ├──Math: This is math
│ │ ├──Eigen: This is eigen
[ocaisa@gpunode1 hier]$ module cat develop tools
To learn more about a package and how to load it execute:
$ module spider Bar
------------------------------------------------------------------- Develop
-------------------------------------------------------------------
scikit-build (1) └─MPI/OpenMPI (1) └─Tools/FFTW (1) └─Tools/scikit-build
(1)
-------------------------------------------------------------------- Tools
--------------------------------------------------------------------
FFTW (1) scikit-build (1) └─MPI/OpenMPI (1)
On Thu, 10 Nov 2022 at 12:30, Alan O'Cais <[email protected]
<mailto:[email protected]> > wrote:
Hi Frank,
On Thu, 10 Nov 2022 at 11:42, Heckes, Frank <[email protected]
<mailto:[email protected]> > wrote:
The EB hook injecting categories into lmod would be really great thing to have.
To be clear, the EasyBuild hook would be a parser hook that would inject
something like `categories=['Tools','Develop']` into the easyconfig instance.
With support for `categories` in EasyBuild, this would result in
`whatis("Category: Tools, Develop")` being injected into the final module file
(which is something that _only_ Lmod understands right now).
Sorry, if I might have overlooked it, but I would be very interested to have a
look at the lmod – hook you implemented for the lmod subcategories. Could you
please share a link, if it’s ‘git-able’?
I sent a link to the Lmod hook already, but just in case
https://gist.github.com/ocaisa/3a72804123923fbd753c1cae12261d9c (requires Lmod
8.7.14, and modules that already include some `Category`ies).
One thing about the EB installation for plain HMNS. The module method to
install EB instead of utilizing pip is perfectly fine? (as long as the
environment is set-up correctly)
Yes, that's fine. There's no link between how EB was installed and what module
naming scheme you want to use.
Alan
Cheers,
-Frank
From: [email protected]
<mailto:[email protected]> <[email protected]
<mailto:[email protected]> > On Behalf Of Alan O'Cais
Sent: Wednesday, 9 November 2022 17:27
To: [email protected] <mailto:[email protected]>
Subject: Re: [easybuild] CategorizedHMNS: easybuild installation method
Hi Frank,
CategorizedHMNS is not widely used (as far as I know) so you there may be some
issues lurking there. Plain HMNS is much more widely used and I'd say a better
choice. Additionally there's a new feature in Lmod that just got released that
allows us to define multiple categories inside a module file (EasyBuild
currently only allows one "moduleclass"). I haven't added support for it yet in
EB but it's something I want to look at really soon.
The plan would be that you use an EB hook to inject the categories that you
want for a piece of software (based off some mapping that you store). This
would add the categories to the module file and then you use Lmod to search for
software based on categories. You use `module cat` to see available categories,
`module cat <category name>` to show software in a category and then `module
spider <software name>` to see how to load (versions of) that software
(including any gateway modules).
You can also use Lmod hooks with categories, for example I can imagine wanting
to hide modules of a certain category for users in certain groups. Personally,
I've implemented an Lmod hook that allows me to have subcategories so I can
implement a complete taxonomy.
Hope that helps,
Alan
On Wed, 9 Nov 2022 at 16:37, Heckes, Frank <[email protected]
<mailto:[email protected]> > wrote:
Hi all,
The latest and also the previous tutorials recommends upon using HMNS:
‘. . . We strongly recommend using an EasyBuild installation that was
<https://easybuilders.github.io/easybuild-tutorial/2022-isc22/installation/#method-1-using-pip-recommended>
installed via "pip install" or "pip3 install" in this part of the tutorial. .
. .’
(in
<https://easybuilders.github.io/easybuild-tutorial/2022-isc22/module_naming_schemes/>
https://easybuilders.github.io/easybuild-tutorial/2022-isc22/module_naming_schemes/)
Does the recommendation also apply to ‘production’ environments or is this only
a didactical safety set-up to avoid the clashes resulting from eventually
existing installation with flat namespace or other modules? My question is, can
I use the module installation procedure for CategorizedHMNS builds without
running into problems, as long as I follow the donts described in the page
above ? Many thanks in advance.
Cheers,
-Frank Heckes
smime.p7s
Description: S/MIME cryptographic signature

