Hello Charles,

Thank you for your comment.

You're talking about a local.yaml file. I don't find it ; where is it ? I have a .hashdist/config.yaml file . I just have to copy and adapt what you write below ?

Could you please explain me how to make fenics use openmpi instead of mpich so that I try to do the same here ?

Thank you in advance.

Regards,
   Guy

Le 22/09/2015 15:45, Charles Cook a écrit :

Hello,

I ran into similar issues when installing fenics on UF’s HPC as we only had an older gcc as well (without c++ 11 support). I tried using the intel compilers and MKL libraries, but getting that to work across the components installed with hashdist was a very deep rabbit hole.

The simplest solution I found was to have hashdist install gcc in a first run, and then on the second run have it use that version of gcc for the remaining stack, which can be done by adding a parameters section to local.yaml. For example:

parameters:

PATH: /home/[user]/.hashdist/bld/gcc/[gcchashvalue]/bin:/usr/bin:/bin

PROLOGUE: |

export CC=/home/[user]/.hashdist/bld/gcc/[gcchashvalue]/bin/gcc; export CXX=/home/[user]/.hashdist/bld/gcc/[gcchashvalue]/bin/g++; export FC=/home/[user]/.hashdist/bld/gcc/[gcchashvalue]/bin/gfortran

Also, the installation will use MPICH by default, where our cluster expects OpenMPI. Running with MPICH caused a few alarms with the admins as it didn’t have the instrumentation they were expected and I had to re-install with OpenMPI at their request.

Good luck,

Charles

*From:*[email protected] [mailto:[email protected]] *On Behalf Of *Johannes Ring
*Sent:* Tuesday, September 22, 2015 9:26 AM
*To:* Guy Moebs <[email protected]>
*Cc:* [email protected]; Sladkova <[email protected]> *Subject:* Re: [FEniCS-support] Fwd: Re: Fenics cluster installation problem

[missed the list]

Hi Guy,

Please see comments below.

On Tue, Sep 22, 2015 at 2:21 PM Guy Moebs <[email protected] <mailto:[email protected]>> wrote:


    Hello,

    Thank you for your responses.
    I'm the person who tries to install fenics for Katerina Sladkova
    on our cluster in Nantes.

    As you explained it, I put the source cache mirror in the
    ~/.hashdist/config.yaml and it works better, i.e. :

    source_caches:
     - dir: ./src
    ## For additional source cache mirror:
     - url: http://fenicsproject.org/pub/hashdist/src





    Now, the script fenics-install.sh goes further but stops with the
    following error :

    Downloading
    
http://fenicsproject.org/pub/hashdist/src/packs/tar.gz/6lm2emnxz6l7d7xg5dewmmit5p3meqgu...
    [=========================] 100.0% (5.3MB of 5.3MB) 2.626MB/s ETA 0s
    [parmetis] Building parmetis/3fq73xu4m2bo, follow log with:
    [parmetis]   tail -f
    /ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_hashdist/build.log
    [parmetis|ERROR] Command '[u'/bin/bash', '_hashdist/build.sh']'
    returned non-zero exit status 2
    [parmetis|ERROR] command failed (code=2); raising



    I look at the file build.log and it ends with the following lines

    2015/09/22 11:57:21 - INFO: [package:run_job] Building C object
    libmetis/CMakeFiles/metis.dir/__/GKlib/error.c.o
    2015/09/22 11:57:21 - INFO: [package:run_job] cd
    
/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_build_metis/libmetis
    && /ccipl/users/gmoebs/.hashdist/bld/mpi/gmkx3ftk3tz2/bin/mpicc
    -Dmetis_EXPORTS -DLINUX -D_FILE_OFFSET_BITS=64 -std=c99
    -fno-strict-aliasing -fPIC -Wall -pedantic
    -Wno-unused-but-set-variable -Wno-unused-variable
    -Wno-unknown-pragmas -DNDEBUG -DNDEBUG2 -DHAVE_EXECINFO_H
    -DHAVE_GETLINE -O3 -fPIC
    -I/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/metis/GKlib
    -I/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/metis/include
    -I/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/metis/libmetis/.
    -o CMakeFiles/metis.dir/__/GKlib/error.c.o   -c
    /ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/metis/GKlib/error.c
    2015/09/22 11:57:21 - INFO: [package:run_job] cc1: error:
    unrecognized command line option "-Wno-unused-but-set-variable"
    2015/09/22 11:57:21 - INFO: [package:run_job] cc1: error:
    unrecognized command line option "-Wno-unused-but-set-variable"
    2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: ***
    [libmetis/CMakeFiles/metis.dir/__/GKlib/blas.c.o] Error 1
    2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: *** Waiting
    for unfinished jobs....
    2015/09/22 11:57:21 - INFO: [package:run_job] cc1: error:
    unrecognized command line option "-Wno-unused-but-set-variable"
    2015/09/22 11:57:21 - INFO: [package:run_job] cc1: error:
    unrecognized command line option "-Wno-unused-but-set-variable"
    2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: ***
    [libmetis/CMakeFiles/metis.dir/__/GKlib/b64.c.o] Error 1
    2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: ***
    [libmetis/CMakeFiles/metis.dir/__/GKlib/csr.c.o] Error 1
    2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: ***
    [libmetis/CMakeFiles/metis.dir/__/GKlib/error.c.o] Error 1
    2015/09/22 11:57:21 - INFO: [package:run_job] make[1]: ***
    [libmetis/CMakeFiles/metis.dir/all] Error 2
    2015/09/22 11:57:21 - INFO: [package:run_job] make[2]: Leaving
    directory
    `/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_build_metis'
    2015/09/22 11:57:21 - INFO: [package:run_job] make[1]: Leaving
    directory
    `/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_build_metis'
    2015/09/22 11:57:21 - INFO: [package:run_job] make: *** [all] Error 2
    2015/09/22 11:57:21 - INFO: [package:run_job] make: Leaving
    directory
    `/ccipl/users/gmoebs/.hashdist/tmp/parmetis-3fq73xu4m2bo/_build_metis'
    2015/09/22 11:57:21 - ERROR: [package:run_job] Command
    '[u'/bin/bash', '_hashdist/build.sh']' returned non-zero exit status 2
    2015/09/22 11:57:21 - ERROR: [package:run_job] command failed
    (code=2); raising


It looks like you have an old version of GCC. You will need at least version 4.6. Are there other GCC versions available on the cluster? In that case you will have to modify the hashdist profile such that it will use the correct compiler.





    I have an other question :
    how can I tell fenics that I have some softwares already installed
    and that I want to use them instead of downloaded ones ? For
    instance, if I want to use Intel's compilers (icc/ifort/icpc),
    Intel's MPI (wrappers and compilation options, libs), Intel's
    scientific library (mkl) for blas, lapack, etc. , what and where
    should I change things ?

Unfortunately, building FEniCS with Intel compilers/MPI/MKL has not been tested with hashdist and will therefore not work with the fenics-install.sh script. To make it work, we will have to make changes in hashstack. This is on my TODO list, but it will probably not happen in the near future.

So, your current options are to either build with GCC using hashdist or with Intel and build everything from source manually.

Johannes

    Thank you in advance for your advices.

    Regards,
       Guy Moebs




        Ok. I have modified fenics-install.sh now such that it adds a
        source cache mirror to fenicsproject.org
        <http://fenicsproject.org> in ~/.hashdist/config.yaml if this
        file does not exist. If you already have
        ~/.hashdist/config.yaml, you will have to add it manually.

        Johannes

        On Tue, Sep 22, 2015 at 10:48 AM Anders Logg
        <[email protected] <mailto:[email protected]>> wrote:

            I just want to add that we also experienced the problem
            with OpenSSL download just now at Chalmers.

            --

            Anders

            tis 22 sep. 2015 kl 09:41 skrev Johannes Ring
            <[email protected] <mailto:[email protected]>>:

                Hi,

                It may look like it starts from the beginning, because
                the fenics-install.sh script will download hashdist,
                hashstack and fenics-developer-tools every time you
                run it. However, the other packages will be stored in
                ~/.hashdist (unless you modify
                ~/.hashdist/config.yaml) and it will not build them
                again unless you change the hashdist profile. I see
                from your terminal output that there is a problem
                downloading openssl. This problem can be fixed by
                adding a source cache mirror to fenicsproject.org
                <http://fenicsproject.org>. To do this, add the
                following line under source_caches in
                ~/.hashdist/config.yaml:

                  - url: http://fenicsproject.org/pub/hashdist/src

                Note that on a cluster it might be better to download
                hashdist and hashstack manually instead of using the
                fenics-install.sh script. This gives you better
                control and you can setup a hashdist profile to use
                modules from the cluster, like compiler and MPI
                modules. See for instance the fenics.abel.gnu.yaml
                example in hashstack.

                Johannes

                On Tue, Sep 22, 2015 at 8:00 AM Sladkova
                <[email protected]
                <mailto:[email protected]>> wrote:

                    Hi,

                    I am an PhD student using Fenics for my thesis and
                    we are trying to
                    installing FEnics also on our cluster (LPGN,
                    University of Nantes). I
                    would like to ask you a question regarding this
                    installation.

                    Exist there a way how to tell Fenics that he
                    doesn't have to start the
                    installation from beginning? And that he can start
                    the installation from
                    the point where he stopped the last time by for
                    example giving him
                    what's still missing?

                    For example: fenics-install.sh downloads lot of
                    thing, most of them
                    already exists on the cluster. But he doesn't look
                    for them, he just
                    starts from the beginning. However sometimes the
                    distant server doesn't
                    respond quickly enough and everything stops. At
                    this point we would like
                    to start from the point where we stopped before.

                    I am also attaching a text file with an example of
                    this problem.

                    Thank you very much for your time,
                    Katerina Sladkova

                    _______________________________________________
                    fenics-support mailing list
                    [email protected]
                    <mailto:[email protected]>
                    http://fenicsproject.org/mailman/listinfo/fenics-support

--
    Ingénieur de Recherche CNRS

    Laboratoire de Mathématiques Jean Leray

    UMR 6629 CNRS - Université de Nantes

    [email protected] <mailto:[email protected]>  --- 02 51 12 59 
40


--
Ingénieur de Recherche CNRS
Laboratoire de Mathématiques Jean Leray
UMR 6629 CNRS - Université de Nantes
[email protected] --- 02 51 12 59 40

_______________________________________________
fenics-support mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics-support

Reply via email to