Maarten KlapwijkParticipantFebruary 26, 2018 at 16:30Post 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.
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:
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.
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 issuesPierre CrepierKeymasterFebruary 27, 2018 at 09:37Post 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 🙂
PierreMaarten KlapwijkParticipantFebruary 27, 2018 at 10:27Post 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.
MaartenMaarten KlapwijkParticipantMarch 2, 2018 at 14:43Post 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
and source your bashrc again.
Now you should be good to go to compile ReFRESCO!
MaartenrefrescoadminKeymasterMarch 12, 2018 at 14:19Post count: 11
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 KlapwijkParticipantMarch 29, 2018 at 08:33Post 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
- You must be logged in to reply to this topic.