====== Installation de Sankoré sur Debian Jessie ====== Les premiers éléments permettant la compilation m'ont été fournis par le lien de [[http://serge.coude.net/code-source/compilations.php5|Serge Coude]]. ===== La Bonne ===== Cette solution n'existe pas encore : elle consisterait à n'utiliser que les libraries déjà paquetisées et fournir un paquet se distribuant dans l'archive standard. Elle viendra... ===== La Truand ===== Cette solution consiste à installer un paquet Debian s'installant dans ''/usr/local'' et créant un lien dans les menus. Cependant, il existe une dépendance avec **libt1** laquelle a disparu avec Jessie. Elle n'est de plus pas optimale : de nombreuses librairies sont dupliquées dans l'archive de Sankoré. Installation des paquets Debian de l'archive standard sudo apt-get -y install libattr1 libaudio2 libc6 libcap2 libdbus-1-3 libexpat1 libflac8 libfontconfig1 libfreetype6 libgcc1 libgdbm3 libglib2.0-0 libgomp1 libice6 libogg0 libpaper1 libpcre3 libphonon4 libpng12-0 libpulse0 libpulse-mainloop-glib0 libqt4-dbus libqt4-network libqt4-script libqt4-svg libqt4-webkit libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4 libsm6 libsndfile1 libsqlite3-0 libssl1.0.0 libstdc++6 libuuid1 libvorbis0a libvorbisenc2 libwrap0 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxi6 libxrender1 libxt6 libxtst6 zlib1g Pour une architecture 32 bits : wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/Open-Sankore_2.5.1_i386.deb wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-5_5.1.2-4_i386.deb dpkg -i libt1-5_5.1.2-4_i386.deb dpkg -i Open-Sankore_2.5.1_i386.deb apt-get -f install Pour une architecture 64 bits : wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-5_5.1.2-4_amd64.deb wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/Open-Sankore_2.5.1_amd64.deb dpkg -i libt1-5_5.1.2-4_amd64.deb dpkg -i Open-Sankore_2.5.1_amd64.deb apt-get -f install ===== La Brute ===== Cette méthode consiste à recompiler soi même directement le paquet. Le problème, c'est que si vous tentez de le compiler dans un environnement existant, il y a de fortes chances que cela ne fonctionne pas lors de la détection des dépendances. Il faut donc (mieux) créer complètement un environnement de compilation chrooté. ==== Construction pour architecture 64 bits x86 (AMD64) ==== === Création de l'environnement chrooté === export JESSIE64=/tmp/jessie64 mkdir -p $JESSIE64 debootstrap --arch amd64 --components='main,contrib,non-free' jessie $JESSIE64 http://ftp.fr.debian.org/debian chroot $JESSIE64 === Installation des paquets de base === apt-get install -y aptitude pbuilder locales dpkg-reconfigure locales -plow apt-get install -y git cdbs autotools-dev libice-dev libsm-dev libx11-dev libxext-dev libxaw7-dev quilt libfreetype6-dev libxm4 libmotif-dev qt4-qmake libqt4-dev qt4-linguist-tools zip libphonon-dev libssl-dev libpaper-dev ttf-mscorefonts-installer === Téléchargement des sources et rétroportage du prérequis libt1 === cd /root export SANKORE_ROOT=$(pwd) Téléchargement par git de l'archive OpenSankoré cd $SANKORE_ROOT git clone https://github.com/Sankore/Sankore-3.1.git Sankore git clone https://github.com/Sankore/Sankore-ThirdParty.git Sankore-ThirdParty Téléchargement de t1lib, son rétroportage et son installation wget http://snapshot.debian.org/archive/debian/20140121T035726Z/pool/main/t/t1lib/t1lib_5.1.2-4.diff.gz wget http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool/main/t/t1lib/t1lib_5.1.2.orig.tar.gz tar xzf t1lib_5.1.2.orig.tar.gz gunzip t1lib_5.1.2-4.diff.gz patch -p 0 < t1lib_5.1.2-4.diff cd t1lib-5.1.2 debuild dpkg -i libt1-5_5.1.2-4_amd64.deb libt1-dev_5.1.2-4_amd64.deb === Compilation des librairies connexes à Sankoré === # Pour xpdf cd $SANKORE_ROOT/Sankore-ThirdParty/xpdf/xpdf-3.03 ./configure --with-freetype2-library="/usr/lib/x86_64-linux-gnu" --with-freetype2-includes="/usr/include/freetype2" cd $SANKORE_ROOT/Sankore-ThirdParty/xpdf qmake xpdf.pro -spec linux-g++-64 make # Pour quazip cd $SANKORE_ROOT/Sankore-ThirdParty/quazip qmake LIBS+="-L../xpdf/lib/linux -lxpdf -lpaper -lt1" quazip.pro -spec linux-g++-64 make === Compilation de Sankoré === cd $SANKORE_ROOT/Sankore wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/buildJessiePackage.sh chmod 755 buildJessiePackage.sh time ./buildJessiePackage.sh Le paquet ''$SANKORE_ROOT/Sankore/install/linux/Open-Sankore_2.5.1_amd64.deb'' peut-être ensuite installé avec la librairie ''libt1-5_5.1.2-4_amd64.deb'' sur un autre système. Par exemple, sur la machine hôte qui a servi à la compilation : # Sortie de l'environnement chroot exit # Installation de la librairie dpkg -i $JESSIE64/root/libt1-5_5.1.2-4_amd64.deb # Installation de Sankoré dpkg -i $JESSIE64/root/Sankore/install/linux/Open-Sankore_2.5.1_amd64.deb ==== Construction pour architecture 32 bits x86 (I386) ==== === Création de l'environnement chrooté === export JESSIE32=/tmp/jessie32 mkdir -p $JESSIE32 debootstrap --arch i386 --components='main,contrib,non-free' jessie $JESSIE32 http://ftp.fr.debian.org/debian setarch i386 chroot $JESSIE32 === Installation des paquets de base === apt-get install -y aptitude pbuilder locales dpkg-reconfigure locales -plow apt-get install -y git cdbs autotools-dev libice-dev libsm-dev libx11-dev libxext-dev libxaw7-dev quilt libfreetype6-dev libxm4 libmotif-dev qt4-qmake libqt4-dev qt4-linguist-tools zip libphonon-dev libssl-dev libpaper-dev ttf-mscorefonts-installer === Téléchargement des sources et rétroportage du prérequis libt1 === cd /root export SANKORE_ROOT=$(pwd) Téléchargement par git de l'archive OpenSankoré cd $SANKORE_ROOT git clone https://github.com/Sankore/Sankore-3.1.git Sankore git clone https://github.com/Sankore/Sankore-ThirdParty.git Sankore-ThirdParty Téléchargement de t1lib, son rétroportage et son installation wget http://snapshot.debian.org/archive/debian/20140121T035726Z/pool/main/t/t1lib/t1lib_5.1.2-4.diff.gz wget http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool/main/t/t1lib/t1lib_5.1.2.orig.tar.gz tar xzf t1lib_5.1.2.orig.tar.gz gunzip t1lib_5.1.2-4.diff.gz patch -p 0 < t1lib_5.1.2-4.diff cd t1lib-5.1.2 debuild dpkg -i libt1-5_5.1.2-4_i386.deb libt1-dev_5.1.2-4_i386.deb === Compilation des librairies connexes à Sankoré === # Pour xpdf cd $SANKORE_ROOT/Sankore-ThirdParty/xpdf/xpdf-3.03 ./configure --with-freetype2-library="/usr/lib/i386-linux-gnu" --with-freetype2-includes="/usr/include/freetype2" cd $SANKORE_ROOT/Sankore-ThirdParty/xpdf qmake xpdf.pro -spec linux-g++ make # Pour quazip cd $SANKORE_ROOT/Sankore-ThirdParty/quazip qmake LIBS+="-L../xpdf/lib/linux -lxpdf -lpaper -lt1" quazip.pro -spec linux-g++ make === Compilation de Sankoré === cd $SANKORE_ROOT/Sankore wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/buildJessiePackage.sh chmod 755 buildJessiePackage.sh time ./buildJessiePackage.sh Le paquet ''$SANKORE_ROOT/Sankore/install/linux/Open-Sankore_2.5.1_i386.deb'' peut-être ensuite installé avec la librairie ''libt1-5_5.1.2-4_i386.deb'' sur un autre système. Par exemple, sur la machine hôte qui a servi à la compilation : # Sortie de l'environnement chroot exit # Installation de la librairie dpkg -i $JESSIE32/root/libt1-5_5.1.2-4_i386.deb # Installation de Sankoré dpkg -i $JESSIE32/root/Sankore/install/linux/Open-Sankore_2.5.1_386.deb