Hi Peter,
I did overlook your message as at the time you wrote it, I was
extremely busy to get a release out.
I need to apologize for the delay and that I'm only answering now.
Peter Hill writes:
> Hello,
>
> I just noticed the gnu-hpc packages in Tumbleweed recently, and I was
> wondering if there is an explanation of how they work somewhere? I had
> a look for some information or discussion, but I've not been able to
> find anything so far.
Right, I should probably have blogged about this - and I may still do.
>
> I gather they are linked somehow to environment modules, but it's not
> clear to me how exactly. For instance, "petsc-devel" installs a module
> for PETSc, but "hdf5-devel" does not install one for HDF5. Are there
> certain packages we're supposed to install to get this functionality?
This could have been a bug that has been fixed meanwhile.
Let me get a very brief overview:
The theory is that
1. the runtime library package installs a module.
2. the devel package pulls in the runtime library package and any
other package that may be needed for building.
3. There are packages which have the version numbers in the package
name. Other packages don't - these are the 'master packages' which
will pull in the latest version of a package thru a dependency.
This allows to have mutliple version of the same base code.
4. Environment modules are used to select toolchain flavor/version,
MPI flavor/version and packages and versions. By default, the latest
version of a package is loaded, however, you can specify a version
explicitly if you need an older version.
The modules enforce some dependencies between libraries, ie you will
have to select a toolchain for most of the libraries and you need
to select the MPI version for MPI dependent libraries. Without this,
these libraries will not become available.
5. For environment modules we use Lmod:
https://lmod.readthedocs.io/en/latest/
There is the 'module' command available to load/unload, list, switch
the modules. To get a help, call 'module help', modules are loaded
with 'module load <module_name>[/<version>]', to get a list of
accessible modules, do 'module avail', to get a list of all modules,
call'module spider'.
> Also, are they supposed to play nice with pkg-config? petsc-devel does
> install PETSc.pc, but loading the module doesn't update
> $PKG_CONFIG_PATH to be able to find it.
This is a bug as well, lemme check if it is still there ...
The module file of the package I'm looking at right now has:
prepend-path PKG_CONFIG_PATH /usr/lib/hpc/gnu7.2/openmpi3/petsc/3.7.6/lib64/pkgconfig
Thus it should work.
If you find any more issues, please let me know - or create a ticket
on bugzilla.opensuse.org.
Please add hpc-maintainer-bugs(a)forge.provo.novell.com as the assignee.
Plan is to provide these packages with openSUSE Leap 42.3. This should
give you a more stable (and enterprise grade!) environment than openSUSE
Tumbleweed.
Cheers,
Egbert.
--
To unsubscribe, e-mail: opensuse-science+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse-science+owner(a)opensuse.org