Skip to content

Molflow on Fedora-based Linux


Molflow running on lxplus

Prerequisites:

Molflow is dependent on the SDL2, GSL and OpenGL libraries. In case they are missing install them like this:

sudo yum install epel-release

sudo yum install SDL2

sudo yum install gsl

sudo yum install libglvnd-opengl

For full file extension support you will also need to install 7zip:

sudo yum install p7zip

For CentosOS 8 or similar:

dnf in libglvnd-opengl  
dnf in libpng15  
ln -s /usr/lib64/libgsl.so.23 /usr/lib64/libgsl.so.0  
dnf config-manager --set-enabled PowerTools  
dnf in SDL2  
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  
dnf in p7zip

In case of missing libgsl.so.23, create a symlink for the GSL library:

CentOS9-stream

ln -s /usr/lib64/libgsl.so.23 /usr/lib64/libgsl.so

CentOS8

ln -s /usr/lib64/libgsl.so.23 /usr/lib64/libgsl.so.0

Installing and running Molflow:

If you're a CERN user and would like to run Molflow on lxplus, see notes at end of page

On most modern distribution releases like CentOS 7+ you will only need to do the following to setup and run Molflow:

  • Download and unzip the zip file from the Downloads page, and open a Terminal in Molflow's directory
  • Mark Molflow and its utilities executable:

    chmod +x molflow molflowSub compress

    Tip

    On versions 2.7, there was no molflowCLI and on 2.8, molflowCLI was called molflowSub

  • Launch Molflow: ./molflow

If that doesn't work and for older releases

Since Molflow+ uses C++17 features, it has been compiled with gcc version 8.2. Unfortunately, as of end-2018, this is not available through the yum package manager, therefore I compiled it from scratch and I ship it as a shared library in the lib folder.

It means you must specify the LD_LIBRARY_PATH where the system will look for the libstdc++.so file (or symlink).

Therefore do the following:

  1. Download and unzip the zip file from the Downloads page, and open a Terminal in Molflow's directory
  2. Mark Molflow and its utilities executable: chmod +x molflow molflowCLI 7za compress

Tip

On versions 2.7, there was no molflowCLI and on 2.8, molflowCLI was called molflowSub

  1. Add the lib folder to the library path:

    export LD_LIBRARY_PATH=lib:$LD_LIBRARY_PATH

    If you want to avoid this every time you launch terminal, you need to edit the ~/.bashrc file, see this example

  2. Launch Molflow: ./molflow

Alternatively, use the shipped launch_molflow.sh script (does points 2-4):

  • chmod +x launch_molflow.sh

  • ./launch_molflow.sh

Running Molflow on lxplus

  • Connect to lxplus8 (instead of lxplus)
  • If you're on Windows, use Putty and enable X11-forwarding (under the SSH settings set X-11 forwarding to localhost:0). You'll also need an X-Window server, like XMing running.
  • You can put files on CERNBox, accessible from lxplus on the address /eos/home-u/username where username is your NICE login. Note that the suffix letter after home- must match your NICE login initial.
  • lxplus is not suitable for long-term simulations: you can get disconnected and the underlying process killed. Work is in progress to run Molflow on clusters

Last update: December 21, 2023