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

generated devel module needs work #109

Open
boegel opened this issue Aug 19, 2012 · 10 comments
Open

generated devel module needs work #109

boegel opened this issue Aug 19, 2012 · 10 comments

Comments

@boegel
Copy link
Member

boegel commented Aug 19, 2012

Generating the devel module is already started in prepare, so before configure and friends (why is it already created there?).

For easyblocks that redefine make_module_req_guess, this could be a problem, because in various occasions this function relies on self.x variables that were set during the build (e.g. for SLEPc).

So, the devel module may contain incorrect values because of that.

Also, the devel module also loads the devel module of all dependencies, which seems to be causing issues (e.g. try loading the current devel module for DOLFIN).

@JensTimmerman
Copy link
Contributor

It has been removed from the prepare function. So this bug is solved.

But we should now create a devel-module after (or before) each step, placing this in the build directory.
This would allow for easy debugging after a build has crashed somewhere:

  • change to build dir
  • load the devel module for this step
  • reproduce the problem
  • debug the problem
  • fix it
  • restart build.

@boegel
Copy link
Member Author

boegel commented Aug 29, 2012

This issue was fixed by c8706a9.

Created a new issue for the step-wise devel modules, see #217

@boegel
Copy link
Member Author

boegel commented Sep 16, 2013

Loading devel modules (still?) fails:

-bash-3.2$ module load gnu/openmpi/olf/1.4.10/libpng/1.5.11 
-bash-3.2$ echo $EBDEVEL
$EBDEVELFFTW       $EBDEVELGOMPI      $EBDEVELHWLOC      $EBDEVELOPENBLAS   $EBDEVELSCALAPACK  
$EBDEVELGCC        $EBDEVELGOOLF      $EBDEVELLIBPNG     $EBDEVELOPENMPI    $EBDEVELZLIB       
-bash-3.2$ echo $EBDEVELLIBPNG 
/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/gnu/openmpi/olf/1.4.10/libpng/1.5.11/easybuild/gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel
-bash-3.2$ module load $EBDEVELLIBPNG 
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(5):ERROR:105: Unable to locate a modulefile for 'gnu-openmpi-1.4.10-fftw-3.3.3-easybuild-devel'
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(9):ERROR:105: Unable to locate a modulefile for 'gompi-1.4.10-easybuild-devel'
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(13):ERROR:105: Unable to locate a modulefile for 'gnu-4.7.2-hwloc-1.6.2-easybuild-devel'
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(17):ERROR:105: Unable to locate a modulefile for 'goolf-1.4.10-easybuild-devel'
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(21):ERROR:105: Unable to locate a modulefile for 'gnu-4.7.2-openmpi-1.6.4-easybuild-devel'
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(25):ERROR:105: Unable to locate a modulefile for 'gnu-openmpi-1.4.10-scalapack-2.0.2-OpenBLAS-0.2.6-LAPACK-3.4.2-easybuild-devel'
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(29):ERROR:105: Unable to locate a modulefile for 'gcc-4.7.2-easybuild-devel'
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(33):ERROR:105: Unable to locate a modulefile for 'gnu-openmpi-1.4.10-openblas-0.2.6-LAPACK-3.4.2-easybuild-devel'
gnu-openmpi-olf-1.4.10-libpng-1.5.11-easybuild-devel(37):ERROR:105: Unable to locate a modulefile for 'gnu-openmpi-olf-1.4.10-zlib-1.2.7-easybuild-devel'
-bash-3.2$ echo $MODULEPATH
/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/modules/all:/etc/modulefiles/vsc

@boegel boegel reopened this Sep 16, 2013
@boegel
Copy link
Member Author

boegel commented Sep 18, 2013

A couple of things need to be taken care of here:

  • loading a devel module should be fixed, this probably involves modifying $MODULEPATH such that devel modules of dependencies can be located
  • we need to revisit the naming of the devel module, it's probably better to use the software module name and simply add /devel at the end
  • loaded devel modules should appear nicely in module list, i.e. not full path; this also involves manipulating $MODULEPATH

It might be wise to simply throw all devel modules in a dedicated directory tree, e.g. modules/devel_modules, to avoid an explosion of $MODULEPATH which would probably have significant performance impact

@fgeorgatos
Copy link
Collaborator

  • loading a devel module should be fixed, this probably involves modifying $MODULEPATH such that devel modules of dependencies can be located

This is a viable option, iff your modules/devel_modules concept is adhered to
(ie. expand once, to pick the development environment configurations)

  • we need to revisit the naming of the devel module, it's probably better to use the software module name and simply add /devel at the end

Makes a lot of sense for naming schemes that do nesting (esp. in custom ModuleNameSpaces).
Note that this idea will not work on certain systems (inability to handle properly two / operators),
so it should rather be considered a nice-to-have, alternative schemes should be possible, too.

  • loaded devel modules should appear nicely in module list, i.e. not full path; this also involves manipulating $MODULEPATH

hm... I had to read the above a couple of times to grok it, but now it's clear:

  • In order to avoid that situation, the optimal technique should be something
    of the following type, as you said:

It might be wise to simply throw all devel modules in a dedicated directory tree, e.g. modules/devel_modules, to avoid an explosion of $MODULEPATH which would probably have significant performance impact

btw.
we already experience some delays, when people do module avail for the first time, with O(1000) modules;
the development module tree will just make that time double... any ideas about how to speed things up?
Is it the case that Lmod is more competitive as regards development environments?

@boegel
Copy link
Member Author

boegel commented Oct 1, 2013

I'm starting to wonder whether loading devel modules of the dependencies is actually required... All the devel module does is allowing to reproduce the environment in which the module was built, thus there probably is no need to load the devel modules of the dependencies (the environment in which they were built is no longer relevant?).

I can't think of an example straight away that contradicts this (since EasyBuild takes care that everything is set correctly for the dependencies, and thus those settings will be part of the single devel module we load).

@fgeorgatos
Copy link
Collaborator

Good question, because I was also wondering about the same:

even if you have a stack of modules which all depend on
a depend-builddepend-depend-builddepend sequence,
only the top module really matters... no?

On Tue, Oct 1, 2013 at 1:59 PM, Kenneth Hoste notifications@github.comwrote:

I'm starting to wonder whether loading devel modules of the dependencies
is actually required... All the devel module does is allowing to reproduce
the environment in which the module was built, thus there probably is no
need to load the devel modules of the dependencies (the environment in
which they were built is no longer relevant?).

I can't think of an example straight away that contradicts this (since
EasyBuild takes care that everything is set correctly for the dependencies,
and thus those settings will be part of the single devel module we load).


Reply to this email directly or view it on GitHubhttps://github.com//issues/109#issuecomment-25443167
.

@citibeth
Copy link

citibeth commented Jan 3, 2016

Issue #203 (now closed) is a duplicate.

@boegel
Copy link
Member Author

boegel commented Jan 3, 2016

@citibob: I think you intended to mention that issue #1531 is a duplicate of #203? Seems like you misplaced your last comment?

@citibeth
Copy link

citibeth commented Jan 3, 2016

Yes I think you are right.

On Sun, Jan 3, 2016 at 10:31 AM, Kenneth Hoste notifications@github.com
wrote:

@citibob https://github.com/citibob: I think you intended to mention
that issue #1531
#1531 is a
duplicate of #203
#203? Seems like
you misplaced your last comment?


Reply to this email directly or view it on GitHub
#109 (comment)
.

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

No branches or pull requests

4 participants