Home Forums Installation Compilation on Iridis4 (Southampton)

Tagged: 

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • Sebastien Lemaire
    Participant
    Post count: 6

    Dear fellow users,
    I am currently compiling ReFRESCO on iridis4 (the cluster of the University of Southampton). I ran (/am running) into several issues along the process so I’ll document a bit what I find and what I tried.

    I am trying to compile the Libs and code from of the current trunk branch and I am following the readme_dev doc.

    1st try:

    using intel/2017

            module load intel/2017 intel/mkl/2017 intel/mpi/2017
            export I_MPI_ROOT=$MPIROOT

    Libs/
    PETSC compiles
    licensing compiles
    intel compiles if on line 924 of libconfigure-intel17.sh one changes /compiler/lib to /lib (they don’t seems to be consistent with version 2016…)
    Can’t compile HDF5 lib

                 H5system.c(482): error: identifier "errno" is undefined
                            errno = 0;

    2nd try:
    using intel/2016

            module load intel/2016 intel/mkl/2016 intel/mpi/2016
            export I_MPI_ROOT=/local/software/intel/2016/compilers_and_libraries_2016.0.109/linux/mpi/
            export I_MPI_HYDRA_BOOTSTRAP=rsh

    Libs/
    PETSC compiles
    licensing compiles
    intel compiles
    Can’t compile HDF5 lib (same error as with intel/2017)

    3rd try:
    going to use precompiled hdf5 and cgns from iridis4
    Loading modules

            module load hdf5/intel/1.8.11
            module load cgns/3.1.4
            #need to unload intel/2013.4 that is loaded with hdf5 and cgns
            module unload intel/2013.4

    using intel/2016 or intel/2017
    I compiled all the Libs but cgns and hdf5
    in .refresco/refresco-dev.sh I have

            CGNS_DIR=/local/software/cgns/3.1.4
            HDF5_DIR=/local/software/hdf5/1.8.11/intel

    Compiling ReFRESCO
    make fails on waves.F90
    waves.F90 is the only/first file to use HDF5 so probably an error from there

    4th try:
    Compiling using intel/2013.4
    TODO

    5th try:
    Compiling hdf5 and cgns using gnu tools
    TODO

    So here is the current state, I will update this post with my progress.

    refrescoadmin
    Keymaster
    Post count: 11

    Sebastien,

    Are you trying the trunk version?
    Like I told you in Iridis4 the problem are the intel compilers versions x.0.0: they are full of bugs, and incompatibilities with the external libraries we use.
    If you try all intel (2016 or 2017(, except CGNS+HFD5 with Gnu, I think that will work.
    Be aware that the modules for the compilers, that set lots of variables needed by libconfigure.sh may not be well done and some variables may be extra defined by you (like you stated above).

    Keep us posted indeed. Thanks.

    Guilherme V.

    Sebastien Lemaire
    Participant
    Post count: 6

    Guilherme,

    Yes that is the trunk version.

    I think I can’t edit my 1st post anymore so I’ll continue here:

    4th try:
    Compiling hdf5 and cgns with gnu tools and everything else with intel
    Running libconfigure-gnu.sh for hdf5 and cgns:
    need to set -DCMAKE_C_COMPILER=”/local/software/gcc/4.8.2/bin/gcc” (line 837) to compile cgns

    * intel 17:
    hdf5 and cgns compiled with gnu tools
    petsc, intel and licensing compiled with intel 17 compiler
    -> refresco compil fails in waves.F90 (so hdf5 issue probably)

    * intel 16:
    hdf5 and cgns compiled with gnu tools
    petsc, intel and licensing compiled with intel 16 compiler
    -> refresco compil fails in petsc_XMLViewer.c

    refrescoadmin
    Keymaster
    Post count: 11

    Sebastien,

    You need to set the variables
    FC=which gfortran
    F77=which gfortran
    F90=which gfortran
    CC=which gcc
    CXX=which g++

    to the right gcc/gfortran compilers, in the beginning of the sections that compile HDF5 and CGNS. I have never had to set DCMAKE_C_COMPILER. I am sure
    And you are using very old gcc and gfortran compilers (4.8.2). Use a module for gnu compilers at least higher than 5. But to be honest, I had never to do this at least for version 2.3.0.

    Guilherme V.

    James Hawkes
    Participant
    Post count: 2

    H5system.c(482): error: identifier “errno” is undefined
    errno = 0;

    Add export CFLAGS="$CFLAGS -DH5_STDC_HEADERS" to your environment/the libconfigure script (somewhere before configure of HDF5) to fix this error. It makes sure HDF5 includes the system headers (including “errno.h”).

    If you have issues with CGNS after that, try building it with CMake (either manually or adjust the libconfigure) — maybe the libconfigure already does that.

    This should get it up and running 🙂

    James

    refrescoadmin
    Keymaster
    Post count: 11

    Ha… I thought it was already automatically added in the general libconfigure.sh. But indeed it is not!
    Thanks James. Sebastien, could you try this even with all Intel?

    Guilherme

    Sebastien Lemaire
    Participant
    Post count: 6

    Yes, that’s what I am doing at the moment, and it works fine, I can compile HDF5 and CGNS, thanks.

    Compiling refresco now but I have an error with the licensing library:

    /home/---/ReFRESCO/Dev/trunk/Libs/install/licensing-1.55.0/sll/lib64/libssl.so: undefined reference to'memcpy@GLIBC_2.14'
    /home/---/ReFRESCO/Dev/trunk/Libs/install/licensing-1.55.0/sll/lib64/libssl.so: undefined reference to 'secure_getenv@GLIBC_2.17'
    make[3]: *** [refresco] Error 1

    I am going to try with intel 16.

    refrescoadmin
    Keymaster
    Post count: 11

    Not needed. Disable the licensing via the ReFRESCO compilation flags (see template.user.makefile.inc and readme_dev, if you dont know how).
    The licensing never worked at Iridis4, and you/we dont need it there.

    Guilherme V.

    Sebastien Lemaire
    Participant
    Post count: 6

    ok great, I will do that, thank you.

    James Hawkes
    Participant
    Post count: 2

    Yes, that’s what I am doing at the moment, and it works fine, I can compile HDF5 and CGNS, thanks.

    Nice, no problem!

    Sebastien Lemaire
    Participant
    Post count: 6

    Thanks to both of you, refresco is now compiled and working (still have to run the testSuite).

    The only issue I had is that documentation can’t be built because the version of graphviz that iridis provides (through module load graphview) is buggy/old? and can’t load png without root access (https://bugs.launchpad.net/ubuntu/+source/graphviz/+bug/1349026), so I just made it and installed it without the documentation.

    Sebastien Lemaire
    Participant
    Post count: 6

    Small update on this. The new libconfigure script from the current trunk is working great on iridis4, I don’t have to make any changes to it in order to compile everything, all of the libraries are working (even licensing).

    Note that I am still using intel17 because the intel18 is not installed here.

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.