Configure mono for Array Suite v10.1
From Array Suite Wiki
Contents |
Install Mono 4.0.4
Download Mono 4.0.4
wget -c http://download.mono-project.com/sources/mono/mono-4.0.4.1.tar.bz2
The bz2 file can be saved to a temporary location, e.g. ~/temp/
Compile and install
On the command line, type
tar jxvf mono-4.0.4.1.tar.bz2 cd mono-4.0.4 ./configure --prefix=/opt/mono-4.0.4 --with-large-heap=yes make make install
Note:
The location of mono installed is set by the option "--prefix" in the configure step, which can be changed to another location. The option --with-large-heap=yes is to enable support for GC heaps larger than 3gb, which is required for NGS alignment, as well as some Array Server functions)
Double check mono installation and version
ls /opt/mono-4.0.4/bin/mono* -all /opt/mono-4.0.4/bin/mono --version /opt/mono-4.0.4/bin/mono-sgen --version
Install Mono 4.8.1
If not done already, install cmake.
sudo apt-get install cmake
Download Mono 4.8.1
wget -c http://download.mono-project.com/sources/mono/mono-4.8.1.0.tar.bz2
The bz2 file can be saved to a temporary location, e.g. ~/temp/
Compile and install. On the command line, type
tar jxvf mono-4.8.1.0.tar.bz2 cd mono-4.8.1 ./configure --prefix=/opt/mono-4.8.1 --with-large-heap=yes make make install
Note:
The location of mono installed is set by the option "--prefix" in the configure step, which can be changed to another location. The option --with-large-heap=yes is to enable support for GC heaps larger than 3gb, which is required for NGS alignment, as well as some Array Server functions)
Double check mono installation and version
ls /opt/mono-4.8.1/bin/mono* -all /opt/mono-4.8.1/bin/mono --version /opt/mono-4.8.1/bin/mono-sgen --version
Libgdiplus
The mono libgdiplus package must be installed (either using yum, apt-get, or installing from source at libgdiplus). In addition, the mono config file must be edited to explicitly specify the location of libgdiplus.so.
cd /opt wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2 tar jxvf libgdiplus-2.10.tar.bz2 cd /opt/libgdiplus-2.10 ./configure --prefix=/opt/libgdiplus-2.10 make make install
If installing from source, you may need to add the "/libgdiplusPrefix/lib" to the shared library search paths, and check to make sure libgdiplus library is on the shared library search paths. To check, type
$ ldconfig -p | grep libgdiplus libgdiplus.so (libc6,x86-64) => /opt/libgdiplus-2.10/lib/libgdiplus.so
Here the libgdiplus is installed at "/opt/libgdiplus" and has been set correctly. If not, one way to add it to the shared library path is by doing this (with root privilege),
echo "/opt/libgdiplus/lib" > /etc/ld.so.conf.d/libgdiplus.conf ldconfig
If installing from yum, it may be necessary to additionally install the following:
yum install libgdiplus yum install libungif libungif-devel
Edit mono config to point to libgdiplus
To connect mono and libgdiplus, modify the following config file: /MonoPrefix/etc/mono/config: Add the following line at the end of the file before </configuration>
<dllmap dll="gdiplus.dll" target="/opt/libgdiplus-2.10/lib/libgdiplus.so"/>
Further details can be found here, including a description of the error message if this is improperly performed.
Troubleshooting Libgdiplus errors
Libgdiplus compile errors