Por que existem tantas dependências de 32 bits para o Skype?

16

Ao instalar o Skype, seja executando (depois de ativar o repositório do parceiro):

sudo apt-get install skype

Ou instalá-lo a partir do .debarquivo obtido no site do Skype. Eu sempre acho que sempre há uma grande quantidade de dependências de 32 bits a serem instaladas:

  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 que é isso? Estou executando o Ubuntu GNOME 15.10 de 64 bits com o GNOME 3.18.


fonte
11
O Skype é um aplicativo multiarca em vez de ter binários de 64 bits dedicados.
Sopa de bacia

Respostas:

44

O Skype é um aplicativo de 32 bits e os aplicativos de 32 bits precisam de bibliotecas de 32 bits.

Se um aplicativo precisar de muitas bibliotecas e for de 32 bits, obviamente precisará de muitas bibliotecas de 32 bits.

AB
fonte
28

Como o seu sistema é um sistema de 64 bits e quase não possui pacotes / bibliotecas de 32 bits instalados por padrão .

Em um sistema de 64 bits, os pacotes de 32 bits, ao contrário dos pacotes de 64 bits, podem tirar proveito apenas de alguns pacotes / bibliotecas já instalados: os poucos instalados por padrão e os instalados manualmente .

Em um sistema de 64 bits, a versão de 64 bits de quase todos esses pacotes / bibliotecas é instalada por padrão.

Se desejar provas, compare a lista de pacotes a serem instalados com a lista de pacotes instalados em seu sistema de uma maneira independente da arquitetura ( dpkg-query -f '${Binary:package}\n' -Wlista todos os pacotes instalados em seu sistema; sed -n '/:i386/!s/:amd64//p'imprime apenas as linhas que não terminam com :i386e remove um final :amd64se presente; "lista" contém a lista de pacotes na sua pergunta sem o final :i386):

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

Você verá que a lista independente de arquitetura de pacotes a serem instalados (ou seja, a lista de pacotes que você ainda não instalou na versão de 32 bits / 64 bits ) reduzirá para algo semelhante a este:

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

Uma resposta mais simples é que o Linux Skype foi escrito há algum tempo e está sendo mantido, não reescrito, atualmente. Em algum momento no futuro, haverá poucos ou nenhum usuário de 32 bits, e eles poderão reescrever nesse ponto.

Uma visão mais ampla é que você pode facilmente adicionar bibliotecas de 32 bits ao seu sistema e executar o aplicativo de 32 bits, enquanto um usuário de 32 bits não pode fazer o inverso, por isso a Microsoft criou o Skype de 32 bits de ponta a ponta, em vez de duas versões.

Forja
fonte
5
Isso não está correto. Não são fatos reais, e eu adoraria saber onde você conseguiu suas fontes.
David
11
@PeterCordes: A Мicrosoft Corporation comprou a Skype Technologies em 2011.
BartekChom
3
@BartekChom: obrigado pela correção, publicando um comentário editado: Sim, os lançamentos do Skype são irritantemente binários em 32 bits, porque não dedicam o tempo de desenvolvimento à criação de uma versão de 64 bits. Isso não se deve ao fato de a porta Linux ser um cidadão de segunda classe, é porque eles nem sequer têm uma versão do Windows de 64 bits. Presumivelmente, sua base de código não é limpa de 64 bits, ou eles têm algumas configurações ajustadas manualmente que não desejam portar para 64 bits. Ou talvez suas estruturas de dados usem muitos indicadores, então uma versão de 64 bits seria mais lenta. Ou talvez uma versão de 64 bits seja boa, mas é péssima e não faz uma.
Peter Cordes
2
@ David David: A versão "atual" do Skype para Linux é 4.3 e foi atualizada pela última vez em junho de 2014. Os clientes Windows e OSX agora estão na versão 7.X, e não na 4.X. Eu sinto que é totalmente justo referir-se a isso como "mantido" e não "desenvolvido ativamente". Novos anúncios de recursos futuros mencionam rotineiramente o suporte ao Windows e OSX, mas não mencionam o Linux (já que a maioria dos recursos recentes não foi adicionada ao cliente Skype Linux. Seja mais específico sobre o que não está correto ou não é um "fato real ".
Forge