Welcome to the Slackware Documentation Project

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édentes Révision précédente
Prochaine révision
Révision précédente
fr:slackware:multilib [2016/10/21 14:15 (UTC)]
pierreaverseng [Packages converted by massconvert32.sh]
fr:slackware:multilib [2017/09/22 07:15 (UTC)] (Version actuelle)
pierreaverseng [Pour toutes éditions de Slackware]
Ligne 1: Ligne 1:
--- Ajoutez votre texte ci-dessous. Il est vivement recommandé de commencer avec un titre (voir la barre de boutons de l'​éditeur). --> +
-Traduction [fr] en cours  --- //​[[wiki:​user:​cedric|Cedric M.]] 2015/09/08 17:55// +
-Vous êtes les bienvenus!+
 ===== Ajouter la Capacité Multilib à Slackware pour l'​Architecture x86_64 ===== ===== Ajouter la Capacité Multilib à Slackware pour l'​Architecture x86_64 =====
  
Ligne 11: Ligne 9:
 Le [[http://​www.pathname.com/​fhs/​pub/​fhs-2.3.html#​LIB64 | Filesystem Hierarchy Standard]] indiquant comment séparer clairement les programmes 64-bits et 32-bits sur un même système, avec la Slackware64 nous avons choisi d'​adopter ce standard [[wp>​x86_64]]. Elle est donc prête pour utiliser les bibliothèques 64-bits dans les répertoires /lib64 et /usr/lib64. C'est pourquoi je la nomme Slackware64 '​multilib-ready'​ (même si les bibliothèques 32-bits se trouvent dans /lib et /usr/lib, Slackware64 ne  contient aucun programme 32-bits).\\ ​ Il y a toutefois une étape supplémentaire à franchir (par vous, l'​utilisateur) pour que Slackware64 puisse être dénommée '​multilib-capable'​.\\ ​ Le [[http://​www.pathname.com/​fhs/​pub/​fhs-2.3.html#​LIB64 | Filesystem Hierarchy Standard]] indiquant comment séparer clairement les programmes 64-bits et 32-bits sur un même système, avec la Slackware64 nous avons choisi d'​adopter ce standard [[wp>​x86_64]]. Elle est donc prête pour utiliser les bibliothèques 64-bits dans les répertoires /lib64 et /usr/lib64. C'est pourquoi je la nomme Slackware64 '​multilib-ready'​ (même si les bibliothèques 32-bits se trouvent dans /lib et /usr/lib, Slackware64 ne  contient aucun programme 32-bits).\\ ​ Il y a toutefois une étape supplémentaire à franchir (par vous, l'​utilisateur) pour que Slackware64 puisse être dénommée '​multilib-capable'​.\\ ​
 On procède de la façon suivante .\\  On procède de la façon suivante .\\ 
-  -Tout d'​abord,​ nous avons besoin de :\\   ​*glibc (c'​est-à-dire : Une glibc capable d'​exécuter des binaires 32-bits et 64-bits)\\ ​  *gcc (c'​est-à-dire : Un gcc capable de générer des binaires 32-bits et 64-bits)\\  +  -Tout d'​abord,​ nous avons besoin de :\\   ​*glibc (c'​est-à-dire : une glibc capable d'​exécuter des binaires 32-bits et 64-bits)\\ ​  *gcc (c'​est-à-dire : un gcc capable de générer des binaires 32-bits et 64-bits)\\  
-  -Ensuite, on récupère les bibliothèques de la Slackware 32-bits qu'on installe dans la Slackware ​64-bits, ce qui constitue la couche de compatibilité 32-bits.\\  +  -Ensuite, on récupère les bibliothèques de la Slackware 32-bits qu'on installe dans la Slackware64 à côté de leurs versions ​64-bits, ce qui constitue la couche de compatibilité 32-bits.\\  
- <​note>​Slackware pour les architectures x86_64 (ou "//​Slackware64//"​ en abrégé) est un système 64-bits « pur », mais qu'il est facile de faire évoluer en un système multilib. //Telle quelle, Slackware64 ne peut compiler et faire tourner que les binaires 64-bits.//</​note>​+ 
 Dès sa sortie, Slackware64 avait un avantage par rapport aux '​forks'​ 64-bits qui existaient par ailleurs. Ces '​forks'​ ajoutaient une couche de compatibilité 32-bits en recompilant bon nombre de paquets en binaires 32-bits. Slackware64 est une distribution constituée des versions 32-bits et 64-bits développées parallèlement. Ce qui signifie que vous n'avez pas à compiler des paquets 32-bits, vous avez juste à prendre les paquets 32-bits depuis l'​arborescence Slackware-32. Voilà pourquoi nous n'​avons pas ajouté un système multilib complet, les conditions sont en place mais demandent à l'​utilisateur de faire le nécessaire s'il veut le multilib.\\ ​ Dès sa sortie, Slackware64 avait un avantage par rapport aux '​forks'​ 64-bits qui existaient par ailleurs. Ces '​forks'​ ajoutaient une couche de compatibilité 32-bits en recompilant bon nombre de paquets en binaires 32-bits. Slackware64 est une distribution constituée des versions 32-bits et 64-bits développées parallèlement. Ce qui signifie que vous n'avez pas à compiler des paquets 32-bits, vous avez juste à prendre les paquets 32-bits depuis l'​arborescence Slackware-32. Voilà pourquoi nous n'​avons pas ajouté un système multilib complet, les conditions sont en place mais demandent à l'​utilisateur de faire le nécessaire s'il veut le multilib.\\ ​
 Dans un [[#​Instructions détaillées | prochain chapitre]], j'​expliquerai comment vous pouvez, à partir d'un paquet Slackware-32 (par exemple le paquet '​mesa'​) le réempaqueter en un paquet '​mesa-compat32'​ et l'​installer tel quel sur la Slackware64. Dans un [[#​Instructions détaillées | prochain chapitre]], j'​expliquerai comment vous pouvez, à partir d'un paquet Slackware-32 (par exemple le paquet '​mesa'​) le réempaqueter en un paquet '​mesa-compat32'​ et l'​installer tel quel sur la Slackware64.
 +
 +<​note>​Slackware pour les architectures x86_64 (ou "//​Slackware64//"​ en abrégé) est un système 64-bits « pur », mais qu'il est facile de faire évoluer en un système multilib. //Telle quelle, Slackware64 ne peut compiler et faire tourner que les binaires 64-bits.//</​note>​
  
 ---------- ----------
Ligne 44: Ligne 44:
  
 Automatisation:​ Automatisation:​
-  - Consultez [[#​rd_party_support_tools | compat32pkg]] de Sébastien Ballet, qui automatise ces opérationss, comme le fait slackpkg.+  - Consultez [[#​rd_party_support_tools | compat32pkg]] de Sébastien Ballet, qui automatise ces opérations, comme le fait slackpkg.
   - Si vous préférez slackpkg pour la gestion des paquets, alors cela vaut la peine de se pencher sur [[http://​slakfinder.org/​slackpkg+.html|slackpkg+]],​ une extension à slackpkg qui gère les paquets que vous avez installés depuis des dépôts tiers - y compris multilib. Quand slackpkg+ est correctement configuré, la maintenance de votre multilib se fait tout simplement ainsi: <​code>​   - Si vous préférez slackpkg pour la gestion des paquets, alors cela vaut la peine de se pencher sur [[http://​slakfinder.org/​slackpkg+.html|slackpkg+]],​ une extension à slackpkg qui gère les paquets que vous avez installés depuis des dépôts tiers - y compris multilib. Quand slackpkg+ est correctement configuré, la maintenance de votre multilib se fait tout simplement ainsi: <​code>​
 # slackpkg update # slackpkg update
Ligne 89: Ligne 89:
 # mkdir slackware64-compat32 ; cd slackware64-compat32 # mkdir slackware64-compat32 ; cd slackware64-compat32
 </​code>​ </​code>​
-    * Lancez la commande suivante qui crée les paquets de compatibilité 32-bits, en prenant en entrée le répertoire officiel des paquets 32-bits Slackware:+    * Lancez la commande suivante qui crée les paquets de compatibilité 32-bits, en prenant en entrée le répertoire officiel des paquets 32-bits Slackware: ​<​code>​
 # massconvert32.sh -i /​home/​ftp/​pub/​slackware/​slackware-14.2/​slackware/​ # massconvert32.sh -i /​home/​ftp/​pub/​slackware/​slackware-14.2/​slackware/​
 </​code>​ </​code>​
Ligne 95: Ligne 95:
 # upgradepkg --install-new *-compat32/​*.t?​z # upgradepkg --install-new *-compat32/​*.t?​z
 </​code>​ </​code>​
-    * C'est fait! Maintenant vous pouvez vous lancer dans le téléchargement,​ l'​installation et l'​utilisation de programmes 32-bits. Ce n'​était pas si dur, n'​est-ce pas?+    * C'est fait! Maintenant vous pouvez vous lancer dans le téléchargement,​ l'​installation et l'​utilisation de programmes 32-bits. Ce n'​était pas si difficile, n'​est-ce pas?
  
 <note warning>​Si vous utilisez un gestionnaire de paquets comme //​slackpkg//​ vous devrez ajouter tous les noms de paquets concernant''​glibc''​ et ''​gcc''​ à sa liste noire de paquets. Si vous ne preniez pas cette précaution,​ vous risqueriez de voir votre gestionnaire de paquets remplacer par accident vos  versions multilib par les versions d'​origine Slackware en '​pur'​ 64-bits!\\ Si vous utilisez Slackware 13.37 ou plus récente, alors slackpkg interprète bien les expressions régulières dans le fichier de la liste noire. Dans ce cas, une seule ligne suffit dans ''/​etc/​slackpkg/​blacklist''​ pour faire exclure tous mes paquets par la liste noire (y compris les paquets multilib gcc et glibc et tous les paquets ''​compat32'':​ <​code>​ <note warning>​Si vous utilisez un gestionnaire de paquets comme //​slackpkg//​ vous devrez ajouter tous les noms de paquets concernant''​glibc''​ et ''​gcc''​ à sa liste noire de paquets. Si vous ne preniez pas cette précaution,​ vous risqueriez de voir votre gestionnaire de paquets remplacer par accident vos  versions multilib par les versions d'​origine Slackware en '​pur'​ 64-bits!\\ Si vous utilisez Slackware 13.37 ou plus récente, alors slackpkg interprète bien les expressions régulières dans le fichier de la liste noire. Dans ce cas, une seule ligne suffit dans ''/​etc/​slackpkg/​blacklist''​ pour faire exclure tous mes paquets par la liste noire (y compris les paquets multilib gcc et glibc et tous les paquets ''​compat32'':​ <​code>​
Ligne 204: Ligne 204:
     * gcc-objc-5.3.0_multilib-x86_64-3alien.txz     * gcc-objc-5.3.0_multilib-x86_64-3alien.txz
   * Les bibliothèques GNU libc:   * Les bibliothèques GNU libc:
-    * glibc-2.23_multilib-x86_64-1alien.txz +    * glibc-2.23_multilib-x86_64-2alien.txz 
-    * glibc-i18n-2.23_multilib-x86_64-1alien.txz +    * glibc-i18n-2.23_multilib-x86_64-2alien.txz 
-    * glibc-profile-2.23_multilib-x86_64-1alien.txz +    * glibc-profile-2.23_multilib-x86_64-2alien.txz 
-    * glibc-solibs-2.23_multilib-x86_64-1alien.txz+    * glibc-solibs-2.23_multilib-x86_64-2alien.txz
 ====Slackware64 current==== ====Slackware64 current====
  
-  * Tant que vous ne voyez pas de répertoire distinct nommé "//​current//",​ vous pouvez ​simplement ​utiliser les fichiers du répertoire de la version ​stable la plus récente.+  * Tant que vous ne voyez pas de répertoire distinct nommé "//​current//",​ vous pouvez utiliser les fichiers du répertoire ​de l'​édition ​de la Slackware ​stable la plus récente.
  
   * Le trousseau du compilateur gcc:   * Le trousseau du compilateur gcc:
-    * gcc-5.4.0_multilib-x86_64-1alien.txz +    * gcc-7.1.0_multilib-x86_64-2alien.txz 
-    * gcc-g++-5.4.0_multilib-x86_64-1alien.txz +    * gcc-brig-7.1.0_multilib-x86_64-2alien.txz 
-    * gcc-gfortran-5.4.0_multilib-x86_64-1alien.txz +    * gcc-g++-7.1.0_multilib-x86_64-2alien.txz 
-    * gcc-gnat-5.4.0_multilib-x86_64-1alien.txz +    * gcc-gfortran-7.1.0_multilib-x86_64-2alien.txz 
-    * gcc-go-5.4.0_multilib-x86_64-1alien.txz +    * gcc-gnat-7.1.0_multilib-x86_64-2alien.txz 
-    * gcc-java-5.4.0_multilib-x86_64-1alien.txz +    * gcc-go-7.1.0_multilib-x86_64-2alien.txz 
-    * gcc-objc-5.4.0_multilib-x86_64-1alien.txz+    * gcc-objc-7.1.0_multilib-x86_64-2alien.txz
   * Les bibliothèques GNU libc:   * Les bibliothèques GNU libc:
-    * glibc-2.24_multilib-x86_64-1alien.txz +    * glibc-2.25_multilib-x86_64-3alien.txz 
-    * glibc-i18n-2.24_multilib-x86_64-1alien.txz +    * glibc-i18n-2.25_multilib-x86_64-3alien.txz 
-    * glibc-profile-2.24_multilib-x86_64-1alien.txz +    * glibc-profile-2.25_multilib-x86_64-3alien.txz 
-    * glibc-solibs-2.24_multilib-x86_64-1alien.txz+    * glibc-solibs-2.25_multilib-x86_64-3alien.txz 
 + 
 +<​note>​Depuis le passage à gcc 7, il n'y a plus de paquet ''​gcc-java''​ parce qu'il n'est plus développé.</​note>​ 
 + 
 +<​note>​Le paquet ''​glibc-zoneinfo''​ n'est pas un élément de multilib, puisqu'​il ne contient pas de code.  Il vous faut installer le paquet ''​glibc-zoneinfo''​ de la Slackware de base.</​note>​
  
  
Ligne 231: Ligne 235:
 Il y a un paquet supplémentaire que vous installerez en utilisant le programme "​installpkg"​. Le n° de version précis peut varier suivant l'​édition de Slackware, mais on peut trouver le paquet dans le répertoire où se trouvent également les versions multilib de gcc et glibc: Il y a un paquet supplémentaire que vous installerez en utilisant le programme "​installpkg"​. Le n° de version précis peut varier suivant l'​édition de Slackware, mais on peut trouver le paquet dans le répertoire où se trouvent également les versions multilib de gcc et glibc:
  
-  * Le "32bit toolkit"​ (scripts qui facilitent la création de paquets ​de 32 bits)+  * Le "32bit toolkit"​ (scripts qui facilitent la création de paquets 32-bits)
     * compat32-tools-3.5-noarch-4alien.tgz     * compat32-tools-3.5-noarch-4alien.tgz
  
Ligne 239: Ligne 243:
  
 La mise à niveau de glibc et gcc telle que décrite précédemment fait passer votre système de «//​multilib-ready//​» à «//​multilib-enabled//​». La mise à niveau de glibc et gcc telle que décrite précédemment fait passer votre système de «//​multilib-ready//​» à «//​multilib-enabled//​».
-Tout ce que vous devez faire maintenant c'est installer les bibliothèques Slackware 32-bits ​de façon à ce que les programmes 32-bits que vous installerez ou compilerez trouvent les bibliothèques dont ils ont besoin. Mais il ne suffit pas de prendre les paquets 32-bits et les installer tels quels dans la Slackware64 pour au moins 2 raisons:+Tout ce que vous devez faire maintenant c'est installer les bibliothèques Slackware 32-bits ​afin que les programmes 32-bits que vous installerez ou compilerez trouvent les bibliothèques dont ils ont besoin. Mais il ne suffit pas de prendre les paquets 32-bits et les installer tels quels dans la Slackware64 pour au moins 2 raisons:
   *tout d'​abord,​ vous allez vous retrouver avec plusieurs paquets portant le même nom, source de confusion pour vous et aussi pour le gestionnaire de paquets '​slackpkg'​.   *tout d'​abord,​ vous allez vous retrouver avec plusieurs paquets portant le même nom, source de confusion pour vous et aussi pour le gestionnaire de paquets '​slackpkg'​.
   *ensuite, si le paquet 32-bits que vous installez contient des binaires (tels /​usr/​bin/​foo par exemple) vous risquez d'​écraser leur équivalent 64-bits, ce qui mettrait la pagaille dans votre système.   *ensuite, si le paquet 32-bits que vous installez contient des binaires (tels /​usr/​bin/​foo par exemple) vous risquez d'​écraser leur équivalent 64-bits, ce qui mettrait la pagaille dans votre système.
Ligne 276: Ligne 280:
 </​code></​note>​ </​code></​note>​
  
-<note important>​Si vous envisagiez d'​utiliser le script ''​convertpkg-compat32''​ pour convertir un paquet **non-Slackware** en un paquet //​-compat32//,​ je dois fermement vous mettre en garde contre cette idée. Le script est écrit dans le seul but d'​obtenir les versions 32-bits des binaires/​bibliothèques Slackware64 disponibles dans une configuration multilib. De ce fait, le script va enlever plusieurs éléments qui font partie du paquet 32-bits original - éléments que l'on considère présents car installés par la version 64-bits du paquet. \\ Dans presque tous les cas où, après téléchargement d'un paquet non-Slackware 32-bits dans la Slackware64,​ le mieux est d'en trouver les sources pour construire une version 64-bits de ce paquet. Une autre solution est d'//​installer le paquet original// 32-bits, au lieu d'​essayer de "le convertir",​ puis de l'​activer à partir de la ligne de commande pour trouver les bibliothèques manquantes 32-bits qu'il vous faut encore extraire d'un paquet ​Slacrkware ​officiel.</​note>​+<note important>​Si vous envisagiez d'​utiliser le script ''​convertpkg-compat32''​ pour convertir un paquet **non-Slackware** en un paquet //​-compat32//,​ je dois fermement vous mettre en garde contre cette idée. Le script est écrit dans le seul but d'​obtenir les versions 32-bits des binaires/​bibliothèques Slackware64 disponibles dans une configuration multilib. De ce fait, le script va enlever plusieurs éléments qui font partie du paquet 32-bits original - éléments que l'on considère présents car installés par la version 64-bits du paquet. \\ Dans presque tous les cas où, après téléchargement d'un paquet non-Slackware 32-bits dans la Slackware64,​ le mieux est d'en trouver les sources pour construire une version 64-bits de ce paquet. Une autre solution est d'//​installer le paquet original// 32-bits, au lieu d'​essayer de "le convertir",​ puis de l'​activer à partir de la ligne de commande pour trouver les bibliothèques manquantes 32-bits qu'il vous faut encore extraire d'un paquet ​Slackware ​officiel.</​note>​
  
  
Ligne 300: Ligne 304:
 ===== Mises en garde ===== ===== Mises en garde =====
  
-  * Quand vous aurez installé les paquets"''​-compat32''",​ vous devrez peut-être réinstaller les pilotes ​binarires ​//Nvidia// ou //Ati// pour gérer votre carte vidéo dans X.Org. Ces paquets de pilotes du matériel contiennent à la fois les bibliothèques 64-bits et 32-bits pour être efficaces au maximum sur un OS 64-bits multilib. Si vous avez installé les fichiers des pilotes pour les deux architectures,​ le paquet "''​mesa-compat32''"​ écrasera ​plusieurs ​fichiers de la bibliothèque 32-bits.\\ \\ On the other handif you originally ​//only// installed the 64bit driver libraries for your Nvidia/​Ati ​cardit is recommended after installation ​of the //​multilib// ​packagesto re-install the binary ​driver ​packageThis timechoose to install the 32bit driver files as well.\\ \\ The graphical 32bit applications ​that you are going to run on your multilib ​installation ​will require these 32bit driver librariesCrashes are likely to occur if you fail to install the correct files.+  * Quand vous aurez installé les paquets"''​-compat32''",​ vous devrez peut-être réinstaller les pilotes ​binaires ​//Nvidia// ou //Ati// pour gérer votre carte vidéo dans X.Org. Ces paquets de pilotes du matériel contiennent à la fois les bibliothèques 64-bits et 32-bits pour être efficaces au maximum sur un OS 64-bits multilib. Si vous avez installé les fichiers des pilotes pour les deux architectures,​ le paquet "''​mesa-compat32''"​ écrasera ​certains ​fichiers de la bibliothèque 32-bits.\\ \\ Par contresi au départ vous aviez installé ​//seulement// les bibliothèques du pilote 64-bits pour votre carte Nvidia/​Ati, ​il est recommandé après l'installation ​des paquets ​//​multilib//, ​de réinstaller le paquet du driver ​binaireCette foischoisissez d'​installer aussi les fichiers du pilote 32-bits. \\ \\ Les applications ​graphiques 32-bits que vous allez faire tourner dans votre installation ​multilib auront besoin de ces bibliothèques pour pilotes 32-bitsIl y aura sûrement des plantages si vous n'​installez pas les bons fichiers.
  
-  * If you want to compile your 64bit kernel yourselfbe sure to compile 32bit emulation capability into it or else multilib ​will mysteriously failYou will need this piece of kernel ​configuration:​ **CONFIG_IA32_EMULATION**+  * Si vous souhaitez compiler votre noyau 64-bits vous-mêmeassurez vous de choisir en option de compilation l'​aptitude à l'​émulation 32-bits pour lui, sinon multilib ​échouerait mystérieusementIl vous faudra cet élément de configuration ​du noyau: **CONFIG_IA32_EMULATION**
  
  
Ligne 310: Ligne 314:
  
 <code bash> <code bash>
-The A/ series:+Les ensembles ​A/ :
  
 aaa_elflibs aaa_elflibs
Ligne 326: Ligne 330:
 xz xz
  
-The AP/ series:+Les ensembles ​AP/ :
  
 cups cups
Ligne 336: Ligne 340:
 sqlite sqlite
  
-The D/ series:+Les ensembles ​D/ :
  
 libtool libtool
 llvm llvm
 +opencl-headers
  
-The L/ series:+Les ensembles ​L/ :
  
 +SDL2
 alsa-lib alsa-lib
 alsa-oss alsa-oss
Ligne 353: Ligne 359:
 esound esound
 expat expat
 +ffmpeg
 fftw fftw
 freetype freetype
 fribidi fribidi
 gamin gamin
 +gc
 gdk-pixbuf2 gdk-pixbuf2
 giflib giflib
Ligne 367: Ligne 375:
 gst-plugins-good gst-plugins-good
 gst-plugins-good0 gst-plugins-good0
 +gst-plugins-libav
 gstreamer gstreamer
 gstreamer0 gstreamer0
Ligne 374: Ligne 383:
 jasper jasper
 json-c json-c
 +lame
 lcms lcms
 lcms2 lcms2
Ligne 379: Ligne 389:
 libart_lgpl libart_lgpl
 libasyncns libasyncns
 +libclc
 +libedit
 libelf libelf
 libexif libexif
Ligne 391: Ligne 403:
 libmpc libmpc
 libnl3 libnl3
 +libnotify
 libogg libogg
 libpcap libpcap
Ligne 399: Ligne 412:
 libtermcap libtermcap
 libtiff libtiff
 +libunistring
 libusb libusb
 libvorbis libvorbis
Ligne 405: Ligne 419:
 lzo lzo
 ncurses ncurses
 +ocl-icd
 openjpeg openjpeg
 orc orc
Ligne 410: Ligne 425:
 popt popt
 pulseaudio pulseaudio
 +python-six
 qt qt
 readline readline
Ligne 421: Ligne 437:
 zlib zlib
  
-The N/ series:+Les ensembles ​N/ :
  
 curl curl
Ligne 433: Ligne 449:
 openssl openssl
 p11-kit p11-kit
 +samba
  
-The X/ series:+Les ensembles ​X/ :
  
 fontconfig fontconfig
Ligne 456: Ligne 473:
 libXfixes libXfixes
 libXfont libXfont
 +libXfont2
 libXfontcache libXfontcache
 libXft libXft
Ligne 477: Ligne 495:
 libdrm libdrm
 libepoxy libepoxy
 +libfontenc
 +libinput
 libfontenc libfontenc
 libpciaccess libpciaccess
Ligne 486: Ligne 506:
 mesa mesa
 pixman pixman
 +vulkan-sdk
 xcb-util xcb-util
  
-The XAP/ series:+Les ensembles ​XAP/ :
  
 sane sane

Autres langues
QR Code
QR Code fr:slackware:multilib (generated for current page)