Perché ci sono così tante dipendenze a 32 bit per Skype?


16

Quando si installa Skype, sia eseguendolo (dopo aver abilitato il repository partner):

sudo apt-get install skype

O installandolo dal .debfile che si ottiene dal sito Web di Skype. Trovo sempre che ci siano sempre molte dipendenze a 32 bit da installare:

  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

Perchè è questo? Sto eseguendo Ubuntu GNOME 15.10 a 64 bit con GNOME 3.18.


1
Skype è un'applicazione multiarch anziché avere binari dedicati a 64 bit.
scodella per la zuppa

Risposte:


44

Skype è un'applicazione a 32 bit e le applicazioni a 32 bit richiedono librerie a 32 bit.

Se un'applicazione richiede molte librerie ed è a 32 bit, ovviamente ha bisogno di molte librerie a 32 bit.


28

Perché il tuo sistema è un sistema a 64 bit e non ha quasi pacchetti / librerie a 32 bit installati per impostazione predefinita .

Su un sistema a 64 bit, i pacchetti a 32 bit, al contrario dei pacchetti a 64 bit, possono trarre vantaggio solo da alcuni pacchetti / librerie già installati: quelli pochi installati per impostazione predefinita e quelli installati manualmente .

Su un sistema a 64 bit, la versione a 64 bit di quasi tutti quei pacchetti / librerie è installata per impostazione predefinita.

Se vuoi le prove, confronta l'elenco dei pacchetti da installare con l'elenco dei pacchetti installati nel tuo sistema in modo indipendente dall'architettura ( dpkg-query -f '${Binary:package}\n' -Welenca tutti i pacchetti installati nel tuo sistema; sed -n '/:i386/!s/:amd64//p'stampa solo le linee che non terminano :i386e rimuove un finale :amd64se presente; "list" contiene l'elenco dei pacchetti nella tua domanda senza il trailing :i386):

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

Vedrai che l'elenco di pacchetti indipendente dall'architettura (ovvero l'elenco di pacchetti che non hai già installato nella loro versione a 32-bit / 64-bit ) si ridurrà a qualcosa di simile a questo:

libdbusmenu-qt2
libqt4-opengl
libqtwebkit4
skype-bin
sni-qt

1

Una risposta più semplice è che Linux Skype è stato scritto molto tempo fa e attualmente viene mantenuto, non riscritto. Ad un certo punto in futuro, rimarranno pochi o nessun utente a 32 bit e potrebbero riscrivere a quel punto.

Una visione più lunga è che puoi facilmente aggiungere lib a 32 bit al tuo sistema ed eseguire l'app a 32 bit, mentre un utente a 32 bit non può fare il contrario, quindi Microsoft ha creato Skype a 32 bit da un capo all'altro anziché due versioni.


5
Questo non è affatto corretto .. Questi non sono fatti reali e mi piacerebbe sapere da dove hai preso le tue fonti.
David

1
@PeterCordes: Мicrosoft Corporation ha acquistato Skype Technologies nel 2011.
BartekChom

3
@BartekChom: grazie per la correzione, ripubblicando un commento modificato: Sì, le versioni di Skype sono fastidiosamente binarie a 32 bit solo perché non impiegheranno il tempo di sviluppo a creare una versione a 64 bit. Ciò non è dovuto al fatto che la porta Linux è un cittadino di seconda classe, è perché non hanno nemmeno una versione di Windows a 64 bit. Presumibilmente il loro codebase non è pulito a 64 bit, o hanno un asm sintonizzato a mano che non vogliono portare a 64 bit. O forse le loro strutture di dati usano molti puntatori, quindi una versione a 64 bit sarebbe più lenta. O forse una versione a 64 bit sarebbe buona, ma fanno schifo e non ne faranno una.
Peter Cordes,

2
@David Cole: la build Linux "attuale" di Skype è 4.3 ed è stata aggiornata l'ultima volta a giugno 2014. I client Windows e OSX sono ora nella versione 7.X, non 4.X. Penso che sia del tutto giusto fare riferimento a ciò come "mantenuto" e non "sviluppato attivamente". I nuovi annunci delle funzionalità imminenti menzionano abitualmente il supporto di Windows e OSX, ma non menzionano Linux (poiché la maggior parte delle funzionalità recenti non sono state aggiunte al client Skype Linux. Si prega di essere più specifici su ciò che non è corretto o non un "fatto reale ".
Forgia il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.