Home Forums Installation Compilation on Cartesius, (SURFsara Amsterdam)

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • Maarten Klapwijk
    Participant
    Post count: 5

    Dear fellow users,
    I am currently compiling ReFRESCO on Cartesius (the cluster of the SURFsara, Amsterdam). I ran unto a number of issues, or settings which must be changed for the installation compared to what can be found on the MODS or in the readme_dev doc. Here I will document what I did to install and compile the code.

    Using the intel (2017) compilers in your .bashrc add:

    module load c/intel
    module load mkl
    module load mpi/impi

    The main difficulties are in the installation of the external libraries. Firstly you need to load cmake manually, or add it in your .bashrc
    module load cmake
    Secondly on Cartesius Doxygen is not installed, so either you install the code without documentation (but the it will complain at the library installation), or you install it locally. To do this you first need to install gnu/bison locally. Bison can be found at http://ftp.gnu.org/gnu/bison/. Download the tar.gz, unpack it. You need to change some settings to install it in a location where you have rights.
    mkdir ~/Bison
    Download or copy tar to this location

    gunzip bison-3.0.tar.gz
    tar bison-3.0.tar
    cd bison-3.0.4
    mkdir LocalFolder
    ./configure –-prefix=/home/$YourUserName$/Bison/bison-3.0.4/LocalFolder

    Next install Doxygen.

    git clone https://github.com/doxygen/doxygen.git
    cd doxygen
    mkdir build
    cd build
    mkdir localFolder
    gedit CMakeCache.txt

    Change the location of the bison executable in the file, change the line to:
    FIND_PACKAGE_MESSAGE_DETAILS_BISON:INTERNAL=[/home/$YourUserName$/Bison/bison-3.0.4/localFolder/bin/bison][v.3.0.4.()]
    Change in cmake_install.cmake “/usr/bin” to “/home/$YourUserName$/doxygen/build/localFolder”

    cmake -G "Unix Makefiles" ..
    make

    Doxygen should now be installed, you can check this by

    cd bin
    doxygen –version

    This should yield the version number. Finally add it in your .bashrc so refresco can find it.
    gedit ~/.bashrc
    Add

    alias doxygen=’home/$YourUserName$/doxygen/build/localFolder/bin/doxygen’
    source ~/.bashrc

    I found that I had to change one thing in the libconfigure-intel17.sh to make sure that the sanity checks worked. At the check whether doxygen exists, I had to add [], so change it to
    if [!doxygen –version >/dev/null 2>&1] ; then
    Now you can install the external libraries

    I have not yet finished the compilation, I will update this if I run into additional issues

    Pierre Crepier
    Keymaster
    Post count: 14

    Thanks for documenting this Maarten!

    I see that most of the commands you wrote start with an upper-case letter, this looks strange to me (Cd instead of cd ?).
    I would suggest to correct those (only if they are suppose to be lower-case, of course).

    I hope you can finish the compilation 🙂

    Pierre

    Maarten Klapwijk
    Participant
    Post count: 5

    Thanks for your remark Pierre. Indeed this was a mistake. I had written the steps in a different text editor which automatically made some letters uppercase. I have edited my original post to remove any excess upper-case letters.

    Maarten

    Maarten Klapwijk
    Participant
    Post count: 5

    It turns out that for the compilation of the code one additional package is needed, namely fop. So download the the binary from Apache fop (https://xmlgraphics.apache.org/fop/).

    cd ~
    mkdir fop
    tar -xvzf fop*.tar.gz

    Next add it in your path so that it can be found. Also it turned out that doxygen must be added into the path to compile the code, so remove the alias made in the previous post. In your bashrc add
    export $PATH=~/doxygen/build/localFolder/bin:/home/$YourUserName/fop/fop-1.1/:$PATH
    and source your bashrc again.

    Now you should be good to go to compile ReFRESCO!

    Maarten

    refrescoadmin
    Keymaster
    Post count: 11

    Maarten,

    Thanks for this topic/info on ReFRESCO@Sara-> this is super important!
    Some points from my side:
    – One can compile and install the code without documentation. I do that for several clusters. And then one does not need doxygen, fop, latex, etc. However, see next issue, it is better to install everything indeed.
    – For running the testSuites (which I think we would like to do in any cluster once, specially the performanceSuite), one needs more libraries. See MODS (https://mods.marin.nl/display/ReFRESCO/Setting+up+the+Code) on that.

    Keep us posted and again thanks.

    Guilherme V.

    Maarten Klapwijk
    Participant
    Post count: 5

    Some additional remarks on the compilers:
    Just loading the compilers as I did in the first post can lead to some problems. It is advisable to load the specific versions, so in your .bashrc add

    module load c/intel/17.0.1
    module load mkl/17.0.0
    module load mpi/impi/17.0.1

    For me mkl/17.0.1 gave an error so now I used the mkl 17.0.0 version.

    Next to that Cartesius loads some compilers as default which can interfere with the compilers needed for ReFRESCO. So at the top of your .bashrc unload the defaults

    module unload mpi
    module unload c/intel/15.0.0
    module fortran/intel/15.0.0

    Using module list you can check whether no other compiler versions are loaded.

    Finally you need to set the LD_LIBRARY_PATH manually since this is not set correctly. Add in your .bashrc
    export LD_LIBRARY_PATH=/opt/intel/parallel_studio_xe_2017_update1/compilers_and_libraries/linux/mpi/intel64/lib:$LD_LIBRARY_PATH

    Maarten

    Maarten Klapwijk
    Participant
    Post count: 5

    Please note that in the previous post I made a mistake. You should load

    fortran/intel/17.0.1

    instead of
    c/intel/17.0.1

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