16

When installing Skype, whether it's by running (after enabling the partner repository):

sudo apt-get install skype

Or installing it from the .deb file that you get from the Skype website. I always find that there are always a large amount of 32-bit dependencies to be installed:

  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

Why is this? I am running 64-bit Ubuntu GNOME 15.10 with GNOME 3.18.

3 Answers3

43

Skype is a 32-bit application and 32-bit applications need 32-bit libraries.

If an application needs many libraries and it is a 32-bit one it obviously needs many 32-bit libraries.

A.B.
  • 90,397
28

Because your system is a 64-bit system, and has almost no 32-bit packages / libraries installed by default.

On a 64-bit system, 32-bit packages, contrarily to 64-bit packages, can take advantage only of a few already installed packages / libraries: those few installed by default and those installed manually.

On a 64-bit system the 64-bit version of almost all those packages / libraries is installed by default.

If you want proofs, compare the list of packages to be installed to the list of packages installed in your system in an architecture-agnostic way (dpkg-query -f '${Binary:package}\n' -W lists all the packages installed in your system; sed -n '/:i386/!s/:amd64//p' prints only the lines not ending with :i386 and removes a trailing :amd64 if present; "list" contains the list of packages in your question without the trailing :i386):

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

You'll see that the architecture-agnostic list of packages to be installed (i.e. the list of packages you don't have installed in their 32-bit / 64-bit version already) will shrink to something similar to this:

libdbusmenu-qt2
libqt4-opengl
libqtwebkit4
skype-bin
sni-qt
kos
  • 35,891
1

A simpler answer is that Linux Skype was written quite some time ago and is being maintained, not rewritten, currently. At some point in the future, there will be few or no 32bit users left, and they might rewrite at that point.

A longer view is that you can fairly easily add 32bit libs to your system and run the 32bit app, while a 32bit user cannot do the reverse, so Microsoft made Skype 32bit from end to end rather than two releases.

Forge
  • 79
  • 5
    This is not at all correct.. These are not actual facts, and I would love to know where you got your sources. – David Nov 13 '15 at 21:04
  • 1
    @PeterCordes: Мicrosoft Corporation purchased Skype Technologies in 2011. – BartekChom Nov 15 '15 at 10:28
  • 3
    @BartekChom: thanks for the correction, reposting an edited comment: Yes, the Skype releases are annoyingly 32bit binary only because they won't put the dev time into making a 64bit version. This isn't because of the Linux port being a 2nd-class citizen, it's because they don't even have a 64bit Windows version. Presumably their codebase isn't 64bit-clean, or they have some hand-tuned asm that they don't want to port to 64bit. Or maybe their data structures use a lot of pointers, so a 64bit version would be slower. Or maybe a 64bit version would be good, but they suck and won't make one. – Peter Cordes Nov 15 '15 at 10:47
  • 2
    @David Cole: The "current" Linux build of Skype is 4.3 and was last updated on June 2014. The Windows and OSX clients are now into version 7.X, not 4.X. I feel that's it's entirely fair to refer to that as "maintained" and not "actively developed". New announcements of upcoming features routinely mention Windows and OSX support, but do not mention Linux (since the majority of recent features have not been added to the Skype Linux client.

    Please be more specific about what is not correct, or not an "actual fact".

    – Forge Nov 16 '15 at 01:13