Pourquoi y a-t-il tant de dépendances 32 bits pour Skype?

16

Lors de l'installation de Skype, que ce soit en exécutant (après avoir activé le référentiel partenaire):

sudo apt-get install skype

Ou en l'installant à partir du .debfichier que vous obtenez sur le site Web de Skype. Je trouve toujours qu'il y a toujours une grande quantité de dépendances 32 bits à installer:

  gstreamer1.0-plugins-base:i386 libasound2:i386 libasound2-plugins:i386
  libasyncns0:i386 libaudio2:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libcdparanoia0:i386
  libcups2:i386 libdbus-1-3:i386 libdbusmenu-qt2:i386 libflac8:i386
  libfontconfig1:i386 libfreetype6:i386 libglib2.0-0:i386 libglu1-mesa:i386
  libgmp10:i386 libgnutls-deb0-28:i386 libgssapi-krb5-2:i386
  libgstreamer-plugins-base1.0-0:i386 libgstreamer1.0-0:i386 libhogweed4:i386
  libice6:i386 libicu55:i386 libjack-jackd2-0:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libjson-c2:i386 libk5crypto3:i386
  libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 liblcms2-2:i386
  libmng2:i386 libmysqlclient18:i386 libnettle6:i386 libogg0:i386
  liborc-0.4-0:i386 libp11-kit0:i386 libpng12-0:i386 libpulse0:i386
  libqt4-dbus:i386 libqt4-declarative:i386 libqt4-network:i386
  libqt4-opengl:i386 libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386
  libqt4-xml:i386 libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386
  libqtgui4:i386 libqtwebkit4:i386 libsamplerate0:i386 libsm6:i386
  libsndfile1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386
  libtasn1-6:i386 libtheora0:i386 libtiff5:i386 libvisual-0.4-0:i386
  libvisual-0.4-plugins:i386 libvorbis0a:i386 libvorbisenc2:i386 libwrap0:i386
  libxi6:i386 libxml2:i386 libxrender1:i386 libxslt1.1:i386 libxss1:i386
  libxt6:i386 libxv1:i386 skype-bin:i386 sni-qt:i386

Pourquoi est-ce? J'utilise Ubuntu GNOME 15.10 64 bits avec GNOME 3.18.


la source
1
Skype est une application multiarchitecture plutôt que d'avoir des binaires 64 bits dédiés.
bol à soupe

Réponses:

44

Skype est une application 32 bits et les applications 32 bits ont besoin de bibliothèques 32 bits.

Si une application a besoin de nombreuses bibliothèques et qu'elle est 32 bits, elle a évidemment besoin de nombreuses bibliothèques 32 bits.

UN B
la source
28

Parce que votre système est un système 64 bits et qu'il n'a presque aucun package / bibliothèque 32 bits installé par défaut .

Sur un système 64 bits, les packages 32 bits, contrairement aux packages 64 bits, ne peuvent bénéficier que de quelques packages / bibliothèques déjà installés: ceux installés par défaut et ceux installés manuellement .

Sur un système 64 bits, la version 64 bits de presque tous ces packages / bibliothèques est installée par défaut.

Si vous voulez des preuves, comparez la liste des packages à installer à la liste des packages installés dans votre système de manière indépendante de l'architecture ( dpkg-query -f '${Binary:package}\n' -Wrépertorie tous les packages installés dans votre système; sed -n '/:i386/!s/:amd64//p'imprime uniquement les lignes ne se terminant pas par :i386et supprime une fin :amd64si present; "list" contient la liste des paquets dans votre question sans la fin :i386):

% comm -13 <(dpkg-query -f '${Binary:package}\n' -W | sed -n '/:i386/!s/:amd64//p' | sort) <(sort list)

Vous verrez que la liste indépendante de l'architecture des packages à installer (c'est-à - dire la liste des packages que vous n'avez pas déjà installés dans leur version 32 bits / 64 bits ) se réduira à quelque chose de similaire à ceci:

libdbusmenu-qt2
libqt4-opengl
libqtwebkit4
skype-bin
sni-qt
kos
la source
1

Une réponse plus simple est que Linux Skype a été écrit il y a un certain temps et est actuellement maintenu, et non réécrit. À un moment donné dans le futur, il ne restera que peu ou pas d'utilisateurs 32 bits, et ils pourraient réécrire à ce stade.

Une vue plus longue est que vous pouvez assez facilement ajouter des bibliothèques 32 bits à votre système et exécuter l'application 32 bits, tandis qu'un utilisateur 32 bits ne peut pas faire l'inverse, donc Microsoft a créé Skype 32 bits de bout en bout plutôt que deux versions.

La forge
la source
5
Ce n'est pas du tout correct. Ce ne sont pas des faits réels, et j'aimerais savoir d'où vous tenez vos sources.
David
1
@PeterCordes: Мicrosoft Corporation a acheté Skype Technologies en 2011.
BartekChom
3
@BartekChom: merci pour la correction, en republiant un commentaire édité: Oui, les versions de Skype sont binaires de 32 bits, car elles ne mettront pas le temps de développement à faire une version 64 bits. Ce n'est pas parce que le port Linux est un citoyen de 2e classe, c'est parce qu'ils n'ont même pas de version Windows 64 bits. Vraisemblablement, leur base de code n'est pas propre à 64 bits, ou ils ont un asm réglé à la main qu'ils ne veulent pas porter sur 64 bits. Ou peut-être que leurs structures de données utilisent beaucoup de pointeurs, donc une version 64 bits serait plus lente. Ou peut-être qu'une version 64 bits serait bien, mais ils craignent et n'en feront pas.
Peter Cordes du
2
@David Cole: La version Linux "actuelle" de Skype est 4.3 et a été mise à jour pour la dernière fois en juin 2014. Les clients Windows et OSX sont désormais dans la version 7.X, et non 4.X. Je pense qu'il est tout à fait juste de qualifier cela de «maintenu» et non de «développé activement». Les nouvelles annonces des fonctionnalités à venir mentionnent régulièrement la prise en charge de Windows et OSX, mais ne mentionnent pas Linux (car la majorité des fonctionnalités récentes n'ont pas été ajoutées au client Skype Linux. Veuillez être plus précis sur ce qui n'est pas correct, ou pas un "fait réel") ".
Forge