Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:install:bin_app_repository:24_04_a24_build:salmon_1101 [2024/07/27 12:34] – [Procédure] foisysfr:install:bin_app_repository:24_04_a24_build:salmon_1101 [2024/07/27 12:45] (Version actuelle) – [Procédure] foisys
Ligne 1: Ligne 1:
 +====== 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''
 +
 +<sxh bash> 
 +% 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 
 +</sxh>
 +
 +
 +===== 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é.
 +<sxh bash> 
 +% 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</sxh>
 +
 +  * Le dossier ''salmon-1.10.1''  devrait appartenir à ''root''. Les permissions de ce dossier devraient être ''755''.
 +<sxh bash> 
 +% sudo chown -R root:root ./salmon-1.10.1 
 +% sudo chmod 755 ./salmon-1.10.1
 +</sxh>
 +
 +  * 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:
 +<sxh bash> 
 +% cd ./salmon-1.10.1
 +% nano ./include/salmonConfig.hpp
 +#
 +# On change la ligne suivante:
 +#
 +#include <string>
 +#
 +# ... pour ceci:
 +#
 +#include <string>
 +#include <cstdint>
 +</sxh>
 +
 +  * le deuxième fichier à modifier est ''salmon-1.10.1/include/SalmonExceptions.hpp'':
 +<sxh bash>  
 +% nano ./include/salmonConfig.hpp
 +#
 +# On change les lignes suivantes:
 +#
 +#include <sstream>
 +#include <stdexcept>
 +#
 +# ... pour ceci:
 +#
 +#include <sstream>
 +#include <stdexcept>
 +#include <cstdint>
 +</sxh>
 +
 +  * Comme on se retrouve toujours dans le dossier ''salmon-1.10.1'', on effectue la compilation simplement:
 +<sxh bash>  
 +# 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
 +</sxh>
 +
 +  * Il faut éditer le fichier ''/etc/profile.d/impilo.sh''  en y ajoutant ces lignes à la toute fin:
 +<sxh bash> 
 +
 +# 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
 +</sxh>
 +