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

16

Ao instalar o Skype, seja por execução (depois de ativar o repositório de parceiros):

sudo apt-get install skype

Ou instalando a partir do arquivo .deb obtido no site da Skype. Eu sempre acho que há sempre 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.

    
por Great Uncle Bulgaria 12.11.2015 / 19:15

3 respostas

44

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

Se um aplicativo precisa de muitas bibliotecas e é de 32 bits, obviamente ele precisa de muitas bibliotecas de 32 bits.

    
por A.B. 12.11.2015 / 19:30
28

Porque 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, pacotes de 32 bits, ao contrário dos pacotes de 64 bits, pode aproveitar apenas alguns pacotes / bibliotecas já instalados: os poucos instalados por padrão e aqueles 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 você quiser provas, compare a lista de pacotes a serem instalados à lista de pacotes instalados em seu sistema de maneira independente de arquitetura ( dpkg-query -f '${Binary:package}\n' -W lista todos os pacotes instalados em seu sistema; sed -n '/:i386/!s/:amd64//p' imprime somente os pacotes linhas que não terminam com :i386 e remove um :amd64 se presente; "list" contém a lista de pacotes em sua pergunta sem o :i386 ):

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

Você verá que a lista de pacotes agnósticos para arquitetura a ser instalada (ou seja, a lista de pacotes que você não instalou em sua versão de 32 bits / 64 bits já ) encolher para algo semelhante a isto:

libdbusmenu-qt2
libqt4-opengl
libqtwebkit4
skype-bin
sni-qt
    
por kos 12.11.2015 / 20:20
1

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

Uma visão mais longa é que você pode facilmente adicionar 32bit libs ao seu sistema e executar o aplicativo de 32 bits, enquanto um usuário de 32 bits não pode fazer o contrário, então a Microsoft fez o Skype 32bit de ponta a ponta em vez de dois lançamentos. >     

por Forge 13.11.2015 / 21:32