Installation

WINDOWS

There is an ELLE version for Windows, released in 2008 with the book Microdynamics Simulation (Bons, Jessell, Koehn, eds.). This version runs under Windows XP, Windows Vista, Windows 7, Windows 8 and Windows 10 or on a PC-equivalent via Parallels or VirtualBox on Mac). This version is fine for testing Elle and running examples. But for the real Elle use it is much better to run the Linux version. To install Elle for Windows:

1) Download the Elle Windows installer ElleWinSetup.exe (18Mb)

2) Double click on the file you have downloaded and follow the instructions

 

LINUX (e.g. Ubuntu 18.04)

If you want to install the latest ELLE official release please follow these steps. This works well for Ubuntu 18.04 and other similar Debian-based Linux distributions.

1. Open the terminal and type:

sudo apt install gfortran gcc mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev libgtk2.0-0 zlibc zlib1g make build-essential xorg-dev libmotif-common libmotif-dev xutils-dev libgtk2.0-dev cvs xutils libx11-dev libxt-dev libxpm-dev x11proto-xext-dev libxext-dev
sudo apt-get install libgsl-dev libgsl23 libgslcblas0 libgsl-dbg

2. Download wxWidgets. You have to download them from http://www.wxwidgets.org/ (do not install it from the repositories!). It is important that you download the previous stable release (2.8.12) and NOT the latest one (3.x). Once downloaded, decompress the file, cd into the directory and type:

export CFLAGS=-std=c99 CXXFLAGS=-std=c++98
./configure --prefix=/usr
make
sudo make install

3. Now clone the ELLE repository by typing:

git clone https://git.code.sf.net/p/elle/git elle-git

4. Move the downloaded Elle directory where you want to have it (e.g.: /usr/local/elle, /home/user/elle, etc.)

5. Now open the terminal, cd to the Elle directory and type (this will install Elle with the graphics interface):

./install.sh wx

You will get lots of warnings, but hopefully no errors.

6. Open the file .bashrc from your home directory (e.g. /home/your_user/.bashrc) and add these lines at the bottom (replace the route with the directory where you installed Elle):

export PATH=$PATH:/home/your_user/elle/elle/binwx
export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib
ELLEPATH=/home/your_user/elle/elle/binwx
export PATH LD_LIBRARY_PATH ELLEPATH

7. Now log out and log in to your session again, and you should be able to run Elle.

8. OPTIONAL: If you want to be able to visualise Elle files with showelle by just right-clicking on a .elle file, please do the following:

Open the terminal and type:

sudo gedit /usr/share/applications/showelle.desktop

Insert the following lines and change “/home/your_user/elle/” to the location of your Elle installation:

[Desktop Entry]
Type=Application
Terminal=false
StartupNotify=true
Icon=/home/your_user/elle/elle.ico
Name=showelle
Comment=Display Elle files
Exec=/home/your_user/elle/elle/binwx/showelle -i %f
Categories=Graphics;Utility;

Save the file, and type in the terminal:

sudo gedit /etc/mime.types

Insert the following line at end of text/ block:

text/elle elle

Save the file, and type in the terminal:

sudo update-mime-database /usr/share/mime
gedit ~/.config/mimeapps.list

if ~/.config/mimeapps.list is a new file, add

[Added Associations]

Add showelle.desktop to text/plain:

text/plain=showelle.desktop;nautilus.desktop;

Save it.

The file ~/.local/share/applications/mimeapps.list is deprecated but some apps may still read/write to it so create a link:

ln -s ~/.config/mimeapps.list .local/share/applications/mimeapps.list

Now, from the file browser (e.g. Nautilus) right click on an .elle file and you should have the option of opening with showelle. You can “lock to launcher” and click on the elle icon to run showelle or change the icon and keep the elle icon for the experiment-launcher.

LINUX with a Singularity container (e.g. for Ubuntu 20.04)

There is an issue when using Elle in Ubuntu 20.04 or equivalent Linux versions. This is due to the new gcc version being more strict with the use of some old C code. We are working to fix the Elle code so that it can be used in the latest Linux versions, by converting all C code to C++. In the meantime we provide the following container so that Elle can be compiled and used on any Linux installation. For that we use the software Singularity. These are the installation instructions for running Elle with Singularity in Ubuntu 20.04:

1. To install Singularity 3.6 in Ubuntu 20.04 you can open the terminal and write the following commands. First you need to install a series of packages:

sudo apt-get update
sudo apt-get install -y build-essential libssl-dev uuid-dev libgpgme11-dev squashfs-tools libseccomp-dev wget pkg-config git cryptsetup

2. Install go:

export VERSION=1.13 OS=linux ARCH=amd64
(Replace the values as needed)

wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz
sudo tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz
rm go$VERSION.$OS-$ARCH.tar.gz

3. Set the Environment variable PATH to point to Go:

$ echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

4. Download Singularity:

export VERSION=3.6.0
(Replace the values as needed)

wget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-${VERSION}.tar.gz
tar -xzf singularity-${VERSION}.tar.gz
cd singularity

5. Compile Singularity:

./mconfig
make -C builddir
sudo make -C builddir install
rm -r singularity

6. Check whether Singularity is properly installed:

singularity --version

7. Download the Elle container using this link, and save the file to a convenient folder, e.g. /home/username/programs/elle.

8. Now there are different ways for using Elle with Singularity:

8.1. Using a read-only container

We recommend to open a shell inside the elle.simg container. That way you have still full read-write access to your home-directory, but you can start the elle-binaries with the necessary parameters from the container. Simply run:

singularity shell elle.simg

You will find Elle now under /programs/elle. Also, the elle-path is in .bashrc, so you can start eg showelle from where-ever you are with a simple:

showelle
on the command line.

This is the easiest, but also the least flexible way to use Elle.

8.2. Use the container file as a build environment and a runtime for your local code

An easy option, if you have trouble to compile the elle-code on your machine, is to download the development code from sourceforge somewhere into your home directory:

git clone https://git.code.sf.net/p/elle/git elle-git

Put the singularity container into the elle directory (or somewhere else where you can easily find it), and then in a terminal type:

singularity shell elle.simg

Your terminal is now running inside the container. To install Elle, you can now do the usual:

./install.sh wx
and Elle will compile and install in your chosen directory.

To run Elle or to start processes in the usual way you can simply start a shell inside the singularity container again. Just remember that you have to use your local elle-install, not the one bundled in the container. If you want to start a local latte process, for instance, you need to tell your terminal its exact location, otherwise it will start the one under /programs/elle inside the container:

cd /home/you/path/to/elle
singularity shell path/to/elle.simg
./binwx/elle_latte -i your_options

#or:
processes/latte/elle_latte -i ...

8.3. Using a writeable Elle singularity container

You can convert the downloaded container file to a writeable format (either to an ext3 container or a sandbox):

You can convert elle.simg to a writable ext3 container called elle-develop.img:

sudo singularity build --writable elle-develop.img elle.simg

Similarly, to convert elle.simg to a writable directory (i.e., a sandbox):

singularity build --sandbox elle-develop/ elle.simg

After you have converted the container file to a writable format you can edit and compile the files under /programs/elle. In order to do so you need to open a shell inside the image with the following parameters:

sudo singularity shell --writable elle.simg
Note the leading ‘sudo’ and the option ‘–writable’.