# System requirements

## Linux (debian:10/ubuntu:20.04)

In case you prefer to compile `rawrr.exe` from C# source code, please install
the mono compiler and xbuild by installing the following Linux packages:

```{sh}
sudo apt-get install mono-mcs mono-xbuild
```

Otherwise, to execute the precompiled code, the following Linux packages are
sufficient:

```{sh}
sudo apt-get install mono-runtime libmono-system-data4.0-cil -y
```

## macOS (Catalina/BigSur)

```
brew install mono
```

or install from

https://www.mono-project.com/

## Microsoft Windows

Running the `rawrr.exe` will run out of the box.

If the native C# compiler is not available install mono from:

https://www.mono-project.com/


# Install the .NET assemblies 

assemblies aka Common Intermediate Language bytecode

the following files are required in 
`r tools::R_user_dir("rawrr", which='cache')`
or in the `MONO_PATH`

```
ThermoFisher.CommonCore.Data.dll
ThermoFisher.CommonCore.MassPrecisionEstimator.dll
ThermoFisher.CommonCore.RawFileReader.dll
```

The download and install can be done on all platforms using the command:
`r rawrr::installRawFileReaderDLLs()`

The in the package included C# source code that can compile into a rawrr.exe
file by calling `r rawrr:::buildRawrrExe()`. (is executed when the package
is loaded)

if no C# compile and build tool is available, run

`r rawrr::installRawrrExe()` to download the rawrr.exe assembly.

On Windows, the decimal symbol has to be configured as a '.'!

In general, ThermoFisher.CommonCore dlls can be obtained through:

https://planetorbitrap.com/rawfilereader

by contacting Jim Shofstahl using

jim.Shofstahl@thermofisher.com