¿Por qué hay tantas dependencias de 32 bits para Skype?

16

Al instalar Skype, ya sea ejecutando (después de habilitar el repositorio de socios):

sudo apt-get install skype

O instalándolo desde el .debarchivo que obtiene del sitio web de Skype. Siempre encuentro que siempre hay que instalar una gran cantidad de dependencias de 32 bits:

  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

¿Por qué es esto? Estoy ejecutando Ubuntu GNOME 15.10 de 64 bits con GNOME 3.18.


fuente
1
Skype es una aplicación multiarch en lugar de tener binarios dedicados de 64 bits.
tazón de sopa

Respuestas:

44

Skype es una aplicación de 32 bits y las aplicaciones de 32 bits necesitan bibliotecas de 32 bits.

Si una aplicación necesita muchas bibliotecas y es de 32 bits, obviamente necesita muchas bibliotecas de 32 bits.

AB
fuente
28

Porque su sistema es un sistema de 64 bits y casi no tiene paquetes / bibliotecas de 32 bits instalados de manera predeterminada .

En un sistema de 64 bits, los paquetes de 32 bits, a diferencia de los paquetes de 64 bits, pueden aprovechar solo algunos paquetes / bibliotecas ya instalados: los pocos instalados de forma predeterminada y los que se instalan manualmente .

En un sistema de 64 bits, la versión de 64 bits de casi todos esos paquetes / bibliotecas se instala de manera predeterminada.

Si desea pruebas, compare la lista de paquetes que se instalarán con la lista de paquetes instalados en su sistema de forma independiente de la arquitectura ( dpkg-query -f '${Binary:package}\n' -Wenumera todos los paquetes instalados en su sistema; sed -n '/:i386/!s/:amd64//p'imprime solo las líneas que no terminan :i386y elimina un final :amd64si presente; "lista" contiene la lista de paquetes en su pregunta sin el final :i386):

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

Verá que la lista independiente de arquitectura de los paquetes que se instalarán (es decir, la lista de paquetes que no ha instalado en su versión de 32 bits / 64 bits ya ) se reducirá a algo similar a esto:

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

Una respuesta más simple es que Linux Skype se escribió hace bastante tiempo y actualmente se mantiene, no se reescribe. En algún momento en el futuro, quedarán pocos o ningún usuario de 32 bits, y podrían volver a escribir en ese punto.

Una visión más larga es que puede agregar fácilmente bibliotecas de 32 bits a su sistema y ejecutar la aplicación de 32 bits, mientras que un usuario de 32 bits no puede hacer lo contrario, por lo que Microsoft creó Skype de 32 bits de extremo a extremo en lugar de dos versiones.

Fragua
fuente
55
Esto no es del todo correcto. Estos no son hechos reales, y me encantaría saber de dónde sacaste tus fuentes.
David
1
@PeterCordes: Мicrosoft Corporation compró Skype Technologies en 2011.
BartekChom
3
@BartekChom: gracias por la corrección, publicando un comentario editado: Sí, los lanzamientos de Skype son molestos binarios de 32 bits solo porque no dedicarán el tiempo de desarrollo para hacer una versión de 64 bits. Esto no se debe a que el puerto de Linux sea un ciudadano de segunda clase, es porque ni siquiera tienen una versión de Windows de 64 bits. Presumiblemente, su código base no está limpio a 64 bits, o tienen algunos asm sintonizados a mano que no quieren portar a 64 bits. O tal vez sus estructuras de datos utilizan muchos punteros, por lo que una versión de 64 bits sería más lenta. O tal vez una versión de 64 bits sería buena, pero apestan y no harán una.
Peter Cordes
2
@David Cole: La versión "actual" de Linux de Skype es 4.3 y se actualizó por última vez en junio de 2014. Los clientes Windows y OSX ahora están en la versión 7.X, no 4.X. Siento que es completamente justo referirse a eso como "mantenido" y no "desarrollado activamente". Los nuevos anuncios de las próximas funciones mencionan habitualmente la compatibilidad con Windows y OSX, pero no mencionan Linux (ya que la mayoría de las funciones recientes no se han agregado al cliente Skype Linux. Sea más específico sobre lo que no es correcto o no es un "hecho real" ".
Forjar