0

This apt-get exchange leaves me befuddled (on a 64-bit CPU):

$ lsb_release -a                                                                                                                                                                       
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:        14.04
Codename:       trusty

The follwoing output arise when running the command:

$ sudo apt-get install libgirepository-1.0-1:i386

Following packages have been installed and are no longer necessary:
  app-install-data-partner cdrdao fonts-lao fonts-thai-tlwg fonts-tlwg-garuda
  fonts-tlwg-kinnari fonts-tlwg-loma fonts-tlwg-mono fonts-tlwg-norasi
  fonts-tlwg-purisa fonts-tlwg-sawasdee fonts-tlwg-typewriter
  fonts-tlwg-typist fonts-tlwg-typo fonts-tlwg-umpush fonts-tlwg-waree
  foomatic-db-compressed-ppds gir1.2-dbusmenu-glib-0.4
  gir1.2-javascriptcoregtk-3.0 gnome-icon-theme gnome-icon-theme-symbolic
  gstreamer1.0-clutter humanity-icon-theme indicator-application kdesudo
  kubuntu-notification-helper libao-common libao4 libappindicator1
  libappindicator3-1 libcairo-script-interpreter2 libcairo2-dev
  libclutter-1.0-0 libclutter-1.0-common libclutter-gst-2.0-0
  libclutter-gtk-1.0-0 libcogl-common libcogl-pango15 libcogl15
  libdbusmenu-gtk3-4 libfontconfig1-dev libfreetype6-dev libgmime-2.6-0
  libharfbuzz-dev libharfbuzz-gobject0 libindicator3-7 libindicator7
  libjson-glib-1.0-0 libjson-glib-1.0-common libnautilus-extension1a
  libpeas-common libperl4-corelibs-perl libpixman-1-dev libpng12-dev
  libtotem-plparser18 libxcb-shm0-dev libxcomposite-dev libxft-dev
  libzeitgeist-2.0-0 printer-driver-min12xxw python-defer python3-pykde4
  syslinux-legacy ubuntu-extras-keyring ubuntu-release-upgrader-qt
  x11proto-composite-dev
  ...
Following packages will be REMOVED:
  aptdaemon apturl-kde gir1.2-atk-1.0 gir1.2-dee-1.0 gir1.2-freedesktop
  gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0 gir1.2-gst-plugins-base-0.10
  gir1.2-gstreamer-0.10 gir1.2-gtk-2.0 gir1.2-gtk-3.0 gir1.2-pango-1.0
  gir1.2-peas-1.0 gir1.2-soup-2.4 gir1.2-totem-1.0 gir1.2-totem-plparser-1.0
  gir1.2-udisks-2.0 gir1.2-unity-5.0 gir1.2-vte-2.90 gir1.2-webkit-3.0
  kubuntu-desktop libatk1.0-dev libgdk-pixbuf2.0-dev libgirepository-1.0-1
  libgtk2.0-dev libgtkglext1-dev libmuonprivate2 libpango1.0-dev
  libpangox-1.0-dev libpeas-1.0-0 libtotem0 muon muon-discover muon-notifier
  muon-updater python-appindicator python-aptdaemon
  python-aptdaemon.gtk3widgets python-gi python-gi-cairo python-gobject
  python-gst0.10 python-indicate python3-aptdaemon
  python3-aptdaemon.gtk3widgets python3-gi software-properties-common
  software-properties-gtk software-properties-kde totem totem-mozilla
  totem-plugins ubuntu-release-upgrader-gtk update-manager update-notifier
  usb-creator-common
Following NEW packages will be installed:
  libgirepository-1.0-1:i386   

My questions are two.

  1. Why does apt-get think it should remove so many packages? I didn't tell it to remove totem at all.
  2. The next time a really strange apt-get situation like the above arises, how can I figure out for myself why apt-get seem to act so weirdly?
1

First you should know this is not a weired action, this is totally right and you some how asking for this action!!

So why this happens?

You want to install libgirepository-1.0-1:i386 , but you already have this libgirepository-1.0-1 64 bit version, so here the system is asking you to replace the 64bit with this 32bit.

This replace has some consequences, if you choose to replace this means the system will delete libgirepository-1.0-1 and install the 32bit instead, so as this lib package will deleted then the system will delete other applications which depend on it, since those applications will be no longer available if this library is removed.

For example why totem will be removed, let's see the totem dependencies

$ apt-cache rdepends totem 
totem
Reverse Depends:
  totem:i386
  totem:i386
  libtotem0:i386
  libtotem-dev:i386
  gnome-settings-daemon:i386
  totem-plugins-extra
  ubuntu-desktop
  totem-plugins
  totem-mozilla
  totem-dbg
  totem
 |nautilus
  libtotem0
  libtotem-dev
  gnome-settings-daemon
  totem:i386
  totem:i386
  libtotem0:i386
  libtotem-dev:i386
  gnome-settings-daemon:i386
  ubuntustudio-desktop
  ubuntu-sugar-remix
 |tunapie
  totem-plugins-extra
  totem-plugins-dvb-daemon
  totem-plugin-arte
  totem-plugin-arte
  streamtuner2
  remuco-totem
  gnome-core
  ezgo-multimedia
  bombono-dvd
  ubuntu-desktop
  totem-plugins
  totem-mozilla
  totem-dbg
  totem
 |nautilus
  libtotem0
  libtotem-dev
  gnome-settings-daemon

As you see above totem depends on libtotem0 and many other packages but let's take this package as example, now if you check the dependencies of the libgirepository-1.0-1 will show you also libtotem0 and many others, so to explain the example, if you delete the libgirepository-1.0-1 and want to install the 32 bit then you'll need to remove the libtotem0 to install its 32 bit also to be compatible with libgirepository-1.0-1 32bit and though you are going to remove totem(Even you don't mean it).

Hope things become clear now

6
  • So Ubuntu doesn't support parallel installation of the same libraries for different platforms? E.g I'm not allowed have both the 32bit build of libglib-2.0.so and the 64bit one installed at the same time? – Björn Lindqvist May 28 '15 at 15:19
  • did you add multiarch support ? if not run the command sudo dpkg --add-architecture i386 then try again – Maythux May 28 '15 at 15:24
  • I did and it doesn't help. I think I have had multiarch enabled for a long time. F.e I have both libreadline-dev and libreadline-dev:i386 installed. – Björn Lindqvist May 28 '15 at 15:28
  • some packages that have same files may not installed together so you should choose one of them – Maythux May 28 '15 at 15:30
  • Read this answer askubuntu.com/questions/254754/… – Maythux May 28 '15 at 15:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.