On 25/10/16 00:42, Kenneth Hoste wrote:
On 23/10/16 11:59, Pablo Escobar Lopez wrote:
wouldn't make sense if compiler modules provide $CC $CXX and Co. by
default?
It would make sense in certain cases, but not in others...
This should really be up to the site to decide on this.
Question is what EasyBuild v3.0 should do by default: should the
toolchain module define $CC, $CFLAGS & co or not?
From the perspective of someone who is still not that familiar with
EasyBuild, I'd say that at first I did expect the toolchain module to
set the build environment, but eventually got used to thinking of it as
a runtime environment.
This makes sense when you're always using eb to build, since it takes
care of setting up the buildenv, but not when you need to build
something "manually". Admins should probably always try to use eb but
for users it may not be worth the learning curve, setting up their own
install paths, etc., they just want to use the globally installed modules.
What about simply installing Alan's buildenv module by default everytime
a toolchain is installed? This doesn't break anything or change expected
behaviour while making the build environment readily available.
Additionally, if the module name is something like
toolchainname-buildenv, or -devel, so that it appears right next to the
toolchain module in the list, it should make everything clearer for
everyone... or am I oversimplifying?
Miguel
Oh yes, and someone should modify the Toolchain easyblock to include
this information in the generated module file. ;-)
K.
2016-10-22 23:59 GMT+02:00 Alan O'Cais <[email protected]
<mailto:[email protected]>>:
Maybe I'm misunderstanding but that is pretty much exactly why I
'created' the trivial buildenv easyblock. The users just load the
module that gets created and they can simply use $CC and friends
in their build processes, making switching toolchains very
straightforward.
On 22 Oct 2016 4:09 p.m., "Vanzo, Davide"
<[email protected]
<mailto:[email protected]>> wrote:
From a user perspective it would be more interesting to have
this option under Lmod than EB. The end user is most likely
to interact only with the environment modules manager than EB
directly. The idea would be that the user loads all the
modules he/she needs according to a specific toolchain and
can get all the linking flags by calling something like:
$module -L
In this way the user can use command substitution directly
into Makefiles. More importantly, this should also take into
account ordering the lib flags accordingly since sometimes
order is essential for successful linking.
That is something that we discussed internally since this
functionality is provided by our current modules manager
(although in a very primitive way) and would be lost when
transitioning to Lmod.
--
Davide Vanzo, PhD
Application Developer
Adjunct Assistant Professor of Chemical and Biomolecular
Engineering
Advanced Computing Center for Research and Education (ACCRE)
Vanderbilt University - Hill Center 201
(615)-875-9137 <tel:%28615%29-875-9137>
www.accre.vanderbilt.edu <http://www.accre.vanderbilt.edu>
On Oct 22 2016, at 8:12 am, Jack Perdue <[email protected]
<mailto:[email protected]>> wrote:
On 10/22/2016 02:47 AM, Kenneth Hoste wrote:
> Hi Jack,
>
> On 21/10/16 02:46, Jack Perdue wrote:
>> Howdy EB gods (Ken and crew),
>>
>> So EB, puts some useful environment settings in
>> <app>/<version>/easybuild/<app>*-devel
>>
>> Is there a way to utilize those variables when not
>> using EB?
>>
>> For example, I assume that if a user loads icc that they
>> more than likely would like CC=icc (CFLAGS is a different
>> matter).
>>
>> But EB doesn't do that now (probably for good reason).
>
> It doesn't right now, no, but would it be interesting
to add an option
> to include statements to define the build environment
as used by
> EasyBuild in the toolchain module?
>
> You can argue for it both ways, it's just a matter of
what EasyBuild
> should do by default (and we currently have a window of
opportunity to
> change the default behavior with EasyBuild 3.0 being
the next release).
I'd definitely like to see it as an option. For testing,
--dump-env-script on
ImageMagick-7.0.3-2-intel-2016b.eb would be a good start.
I'd like to
see _everything_ set in that .env instead set in the
modules first... as
just a
start.
Beyond that, I'd also like to see a line with -lX11
-lXabc -lX123 so I
don't need to
remember the name of all the X11 libs.
But it should be a site (or user) selectable option (I
could see some
people not wanting such things).
jack (who won't be making it to Utah but does have new
cluster coming online
and has the ability to provide beer through his
agents)
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
--
Pablo Escobar López
HPC systems engineer
sciCORE, University of Basel
SIB Swiss Institute of Bioinformatics
http://scicore.unibas.ch