====== Installation de Salmon 1.10.1 ======
Des changements dans l'environnement de développement+compilation oblige le changement de certains fichiers source pour permettre une compilation réussie...
===== Librairies additionnelles =====
* Il faut commencer par s'assurer que la librairie ''build-essential'' soit déjà installé.
* Il faut installer un compilateur supplémentaire, ''cmake'', en plus de ''make'', ainsi que les librairies suivantes (certaines le sont probablement déjà mais dans un tel cas, on aura une mise à jour):
* ''libboost-dev''
* ''libboost-filesystem-dev''
* ''libboost-iostreams-dev''
* ''libboost-program-options-dev''
* ''libboost-chrono-dev''
* ''libboost-system-dev''
* ''libboost-timer-dev''
* ''libbz2-dev''
* ''libcurl4-openssl-dev''
* ''libjemalloc-dev''
* ''libjs-sphinxdoc''
* ''liblzma-dev''
* ''libcereal-dev''
* ''libcurl4-openssl-dev''
* ''libtbb-dev''
* ''libzstd-dev''
* ''pkg-config''
* ''zlib1g-dev''
% sudo apt install cmake libboost-dev libboost-chrono-dev libboost-filesystem-dev libboost-iostreams-dev libboost-program-options-dev libboost-chrono-dev libboost-system-dev libboost-timer-dev libbz2-dev libcurl4-openssl-dev libjemalloc-dev liblzma-dev libcereal-dev libtbb-dev libzstd-dev pkg-config zlib1g-dev
===== Procédure =====
Voici la procédure suivi pour l'installation de Salmon à partir du code source:
* L'archive a été téléchargé du site web sous ''/opt/bio/sources/'' et décompressé.
% cd /opt/bio/sources
% sudo curl -L -o salmon.v1.10.1.tar.gz [[https://github.com/COMBINE-lab/salmon/archive/refs/tags/v1.10.1.tar.gz|https://github.com/COMBINE-lab/salmon/archive/refs/tags/v1.10.1.tar.gz]]
% sudo tar -zxvf salmon.v1.10.1.tar.gz
% sudo rm -rf salmon.v1.10.1.tar.gz
* Le dossier ''salmon-1.10.1'' devrait appartenir à ''root''. Les permissions de ce dossier devraient être ''755''.
% sudo chown -R root:root ./salmon-1.10.1
% sudo chmod 755 ./salmon-1.10.1
* Avant de continuer, il nous faut ajouter une ligne dans certaines fichiers... Le premier de ces fichiers est ''salmon-1.10.1/include/SalmonConfig.hpp'' qu'on ouvre avec "nano" pour faire la modification:
% cd ./salmon-1.10.1
% nano ./include/salmonConfig.hpp
#
# On change la ligne suivante:
#
#include
#
# ... pour ceci:
#
#include
#include
* le deuxième fichier à modifier est ''salmon-1.10.1/include/SalmonExceptions.hpp'':
% nano ./include/salmonConfig.hpp
#
# On change les lignes suivantes:
#
#include
#include
#
# ... pour ceci:
#
#include
#include
#include
* Comme on se retrouve toujours dans le dossier ''salmon-1.10.1'', on effectue la compilation simplement:
# Sur serveur réel ou MV en architecture x86_64:
% sudo cmake -DNO_IPO=TRUE -DBOOST_ROOT=/usr/lib/x86_64-linux-gnu -DCMAKE_INSTALL_PREFIX=`pwd`
# Si vous êtes sur un RPi:
% sudo cmake -DNO_IPO=TRUE -DBOOST_ROOT=/usr/lib/aarch64-linux-gnu -DCMAKE_INSTALL_PREFIX=`pwd`
# Les prochaines étapes vont prendre un certain temps…
% sudo make && sudo make install
* Il faut éditer le fichier ''/etc/profile.d/impilo.sh'' en y ajoutant ces lignes à la toute fin:
#
# Salmon specific environment variables
#
export PATH=$PATH:/opt/bio/sources/salmon-1.10.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/bio/sources/salmon-1.10.1/lib