# 1. Installation of the binary files

#### Maxime Lenormand, Boris Leroy and Pierre Denelle

#### 2023-04-14

Some functions (listed below) or at least part of them require binary files to run.

- netclu_infomap
- netclu_louvain (Cpp version)
- netclu_oslom

The function install_binaries downloads and unzips the `bin` folder needed to run these functions. It also checks if the files have the permissions to be executed as programs. It finally tests if the binary files are running properly.

### Run install_binaries()

The function install_binaries should be run prior to using netclu_infomap, the Cpp version of netclu_louvain and netclu_oslom as follows.

    install_binaries(binpath = "tempdir" , infomap_version = c("2.1.0", "2.6.0"))

The function has two parameters. `binpath` indicating the path to the folder that will host the `bin` folder containing the binary files. By default, the binary files are installed in R’s temporary directory (`binpath = "tempdir"`). In this case the `bin` folder will be automatically removed at the end of the R session. Alternatively, the binary files can be installed in the bioregion’s package folder (`binpath = "pkgfolder"`). Any other folder can be chosen but in any case PLEASE MAKE SURE to update the binpath argument in netclu_infomap, netclu_louvain and netclu_oslom accordingly.

The second parameter `infomap_version` indicating the Infomap version(s) to install. Only the Infomap version 2.1.0 and 2.6.0 are available for now.

The installation of the binary files is divided into six steps:

#### 1. Download bin.zip

#### 2. Unzip bin.zip in the binpath

#### 3. Check the permissions, try to change them automatically or propose an iterative process to change them manually

#### 4->6. Test that Infomap, Louvain and OSLOM are running properly

### Known issues

- The OpenMP versions of Infomap require `libomp-dev` on Ubuntu (`sudo apt-get install libomp-dev`) and `libomp` on macOS (install Homebrew and run `brew install libomp`).