Mengapa ada begitu banyak dependensi 32-bit untuk Skype?

16

Saat memasang Skype, apakah itu dengan menjalankan (setelah mengaktifkan repositori mitra):

sudo apt-get install skype

Atau menginstalnya dari .debfile yang Anda dapatkan dari situs web Skype. Saya selalu menemukan bahwa selalu ada sejumlah besar dependensi 32-bit yang harus diinstal:

  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

Kenapa ini? Saya menjalankan Ubuntu 64-bit GNOME 15.10 dengan GNOME 3.18.


sumber
1
Skype adalah aplikasi multiarch daripada memiliki biner 64-bit khusus.
sup-mangkuk

Jawaban:

44

Skype adalah aplikasi 32-bit dan aplikasi 32-bit membutuhkan perpustakaan 32-bit.

Jika suatu aplikasi membutuhkan banyak pustaka dan itu adalah 32-bit, itu jelas membutuhkan banyak pustaka 32-bit.

AB
sumber
28

Karena sistem Anda adalah sistem 64-bit, dan hampir tidak ada paket / pustaka 32-bit yang diinstal secara default .

Pada sistem 64-bit, paket 32-bit, sebaliknya untuk paket 64-bit, hanya dapat memanfaatkan beberapa paket / pustaka yang sudah diinstal: beberapa yang diinstal secara default dan yang diinstal secara manual .

Pada sistem 64-bit, versi 64-bit dari hampir semua paket / pustaka diinstal secara default.

Jika Anda ingin bukti, bandingkan daftar paket yang akan diinstal dengan daftar paket yang diinstal di sistem Anda dengan cara arsitektur-agnostik (daftarkan dpkg-query -f '${Binary:package}\n' -Wsemua paket yang diinstal di sistem Anda; sed -n '/:i386/!s/:amd64//p'hanya cetak baris yang tidak berakhir dengan :i386dan hapus jejak :amd64jika present; "list" berisi daftar paket di pertanyaan Anda tanpa trailing :i386):

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

Anda akan melihat bahwa daftar paket arsitektur-agnostik yang akan diinstal (yaitu daftar paket yang belum Anda instal dalam versi 32-bit / 64-bitnya ) akan menyusut ke sesuatu yang mirip dengan ini:

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

Jawaban yang lebih sederhana adalah bahwa Linux Skype ditulis beberapa waktu yang lalu dan saat ini sedang dipertahankan, bukan ditulis ulang. Pada titik tertentu di masa depan, akan ada sedikit atau tidak ada lagi pengguna 32bit, dan mereka mungkin menulis ulang pada saat itu.

Pandangan yang lebih panjang adalah bahwa Anda dapat dengan mudah menambahkan 32bit lib ke sistem Anda dan menjalankan aplikasi 32bit, sementara pengguna 32bit tidak dapat melakukan sebaliknya, sehingga Microsoft membuat Skype 32bit dari ujung ke ujung bukan dari dua rilis.

Menempa
sumber
5
Ini sama sekali tidak benar .. Ini bukan fakta yang sebenarnya, dan saya ingin tahu dari mana Anda mendapatkan sumber Anda.
David
1
@PeterCordes: Мicrosoft Corporation membeli Skype Technologies pada 2011.
BartekChom
3
@ BartekChom: terima kasih atas koreksi, reposting komentar yang diedit: Ya, rilis Skype adalah biner 32bit yang mengganggu hanya karena mereka tidak akan meluangkan waktu dev membuat versi 64bit. Ini bukan karena port Linux menjadi warga negara kelas 2, itu karena mereka bahkan tidak memiliki versi Windows 64bit. Mungkin basis kode mereka tidak 64bit-bersih, atau mereka memiliki beberapa tuned ASM yang mereka tidak ingin port ke 64bit. Atau mungkin struktur data mereka menggunakan banyak pointer, jadi versi 64bit akan lebih lambat. Atau mungkin versi 64bit akan bagus, tetapi mereka payah dan tidak akan membuatnya.
Peter Cordes
2
@ David Cole: Linux build "Skype" adalah 4.3 dan terakhir diperbarui pada Juni 2014. Klien Windows dan OSX sekarang ke versi 7.X, bukan 4.X. Saya merasa itu sepenuhnya adil untuk menyebutnya sebagai "dipertahankan" dan bukan "dikembangkan secara aktif". Pengumuman baru tentang fitur yang akan datang secara rutin menyebutkan dukungan Windows dan OSX, tetapi jangan menyebutkan Linux (karena mayoritas fitur terbaru belum ditambahkan ke klien Skype Linux. Harap lebih spesifik tentang apa yang tidak benar, atau bukan "fakta aktual" ".
Forge