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


Reply via email to