Skypeに32ビットの依存関係が多数あるのはなぜですか?


16

Skypeをインストールするとき、実行するかどうか(パートナーリポジトリを有効にした後):

sudo apt-get install skype

または.deb、Skype Webサイトから取得したファイルからインストールします。インストールする32ビットの依存関係が常に大量にあることが常にわかります。

  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

どうしてこれなの?GNOME 3.18で64ビットUbuntu GNOME 15.10を実行しています。


1
Skypeは、専用の64ビットバイナリではなく、マルチアーチアプリケーションです。
スープボウル

回答:


44

Skypeは32ビットアプリケーションであり、32ビットアプリケーションには32ビットライブラリが必要です。

アプリケーションが多くのライブラリを必要とし、それが32ビットである場合、明らかに多くの 32ビットライブラリが必要です。


28

システムは64ビットシステムであり、デフォルトでは32ビットパッケージ/ライブラリがほとんどインストールされていないためです

64ビットシステムでは、64ビットパッケージとは対照的に、32ビットパッケージは、既にインストールされている少数のパッケージ/ライブラリのみを利用できます

64ビットシステムでは、ほとんどすべてのパッケージ/ライブラリの64ビットバージョンがデフォルトでインストールされます。

証明が必要な場合は、インストールするパッケージのリストを、アーキテクチャにとらわれない方法でシステムにインストールされているパッケージのリストと比較します(システムにインストールされてdpkg-query -f '${Binary:package}\n' -Wいるすべてのパッケージをリストします。末尾にsed -n '/:i386/!s/:amd64//p'ない行のみを出力し、 present; "list"には、質問の末尾にないパッケージのリストが含まれます)::i386:amd64:i386

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

インストールするパッケージのアーキテクチャに依存しないリスト(つまり、32ビット版または64ビット版にま​​だインストールしていないパッケージのリスト)は、次のように縮小することがわかります。

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

1

もっと簡単な答えは、Linux Skypeはかなり前に書かれており、現在は書き換えられずに維持されているということです。将来のある時点で、32ビットユーザーがほとんどまたはまったく残らず、その時点で書き換えられる可能性があります。

長い見方では、システムに32ビットライブラリを簡単に追加して32ビットアプリを実行できますが、32ビットユーザーはその逆を行うことができないため、MicrosoftはSkypeを2リリースではなくエンドツーエンドで作成しました。


5
これはまったく正しくありません。これらは実際の事実ではなく、どこから情報を得たのか知りたいと思います。
デビッド

1
@PeterCordes:Мicrosoft株式会社は、2011年にスカイプ・テクノロジーズを買収
BartekChom

3
@BartekChom:修正のおかげで、編集されたコメントを再投稿します。はい、Skypeのリリースは、64ビットバージョンを作成するために開発者の時間を費やさないため、32ビットバイナリです。これは、Linuxの移植が第2クラスの市民であるためではなく、64ビットのWindowsバージョンさえ持っていないためです。おそらく彼らのコードベースは64ビットクリーンではないか、64ビットに移植したくないという手動調整されたasmを持っています。または、それらのデータ構造が多くのポインターを使用しているため、64ビットバージョンの方が遅いかもしれません。または、64ビットバージョンの方が良いかもしれませんが、それらはダメで、作成しません。
ピーターコーデス

2
@David Cole:Skypeの「現在の」Linuxビルドは4.3で、2014年6月に最終更新されました。WindowsおよびOSXクライアントは、バージョン4.Xではなくバージョン7.Xになりました。「積極的に開発された」ではなく「維持された」と呼ぶのは完全に公平だと思います。今後の機能の新しい発表では、WindowsおよびOSXのサポートについて定期的に言及していますが、Linuxについては言及していません(最近の機能の大部分はSkype Linuxクライアントに追加されていないためです。 "
Forge
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.