Installing samba-dev:i386 breaks Ubuntu 22.04.1.

Bug #1993081 reported by Keith David Bershatsky
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python3.10 (Ubuntu)
New
Undecided
Unassigned
samba (Ubuntu)
Incomplete
Undecided
Unassigned

Bug Description

Ubuntu 22.04.1 LTS: sudo apt install samba-dev:i386

Installs a bunch of stuff relating to the libreoffice suite and at the tail end of the installation of the above-named package, apt removes a plethora of absolutely essential packages need to use Ubuntu, including, but not limited to the entire desktop, gdm, and the ability to access the internet to download any packages with apt. The entire virtual machine (other than a rudimentary terminal when booting up) was broken after installing samba-dev:i386 and needed to be restored from a backup. Please either have apt refuse to install samba-dev:i386, or at the very least, provide a complete list of essential packages that will be removed with a mandatory interactive confirmation to proceed.

I had tried to install this package, which is one of the dependencies for building Wine from source:

Wine ... configure: 32-bit/64-bit libnetapi not found, Samba NetAPI won't be supported.

description: updated
summary: - samba-dev:i386 removes desktop and makes Ubuntu unusable.
+ samba-dev:i386 removes desktop and makes Ubuntu 22.04.1 unusable.
description: updated
summary: - samba-dev:i386 removes desktop and makes Ubuntu 22.04.1 unusable.
+ samba-dev:i386 breaks Ubuntu 22.04.1.
summary: - samba-dev:i386 breaks Ubuntu 22.04.1.
+ Installing samba-dev:i386 breaks Ubuntu 22.04.1.
description: updated
description: updated
Revision history for this message
Chris Guiver (guiverc) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command only once, as it will automatically gather debugging information, in a terminal:

apport-collect 1993081

When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https://wiki.ubuntu.com/ReportingBugs.

Revision history for this message
Keith David Bershatsky (lawlist) wrote :
Download full text (11.5 KiB)

Thank you for guiding me to create better bug reports in the future. In the context of this particular issue, the entire virtual machine becomes unusable and it would be impossible given my current skill level to get the terminal output or a log off of the VM in order to submit a bug report. Even a common text editor such as gedit disappears. Here is the list of what will be removed and installed, without actually proceeding with the installation of this i386 package:

lawlist@lawlist-VirtualBox:~$ sudo apt install samba-dev:i386
[sudo] password for lawlist:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done

The following packages were automatically installed and are no longer required:

  apg apport-symptoms aptdaemon-data avahi-utils cups-pk-helper distro-info
  gdb gedit-common genisoimage gir1.2-accountsservice-1.0 gir1.2-adw-1
  gir1.2-atspi-2.0 gir1.2-dbusmenu-glib-0.4 gir1.2-dee-1.0 gir1.2-gck-1
  gir1.2-gcr-3 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-3.0
  gir1.2-goa-1.0 gir1.2-graphene-1.0 gir1.2-gst-plugins-base-1.0
  gir1.2-gstreamer-1.0 gir1.2-gtk-4.0 gir1.2-gtksource-4 gir1.2-gudev-1.0
  gir1.2-gweather-3.0 gir1.2-ibus-1.0 gir1.2-javascriptcoregtk-4.0
  gir1.2-json-1.0 gir1.2-mutter-10 gir1.2-nm-1.0 gir1.2-nma-1.0
  gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-polkit-1.0 gir1.2-rb-3.0
  gir1.2-rsvg-2.0 gir1.2-secret-1 gir1.2-snapd-1 gir1.2-soup-2.4
  gir1.2-totem-1.0 gir1.2-totemplparser-1.0 gir1.2-udisks-2.0 gir1.2-unity-7.0
  gir1.2-upowerglib-1.0 gir1.2-vte-2.91 gir1.2-webkit2-4.0 gir1.2-wnck-3.0
  gkbd-capplet gnome-bluetooth-3-common gnome-control-center-faces
  gnome-session-bin gnome-session-common gnome-shell-common
  gnome-startup-applications gnome-terminal-data gstreamer1.0-pipewire
  hplip-data ibus-data ibus-gtk4 libbabeltrace1 libboost-regex1.74.0 libc6-dbg
  libcdio-cdda2 libcdio-paranoia2 libcdio19 libcolord-gtk1
  libdebuginfod-common libdebuginfod1 libdmapsharing-3.0-2 libglu1-mesa
  libgnome-bluetooth-3.0-13 libgnomekbd-common libgnomekbd8 libgpod-common
  libgpod4 libgsound0 libgssdp-1.2-0 libgupnp-1.2-1 libgupnp-av-1.0-3
  libgupnp-dlna-2.0-4 libhpmud0 libimagequant0 libipt2 libldb2 liblirc-client0
  libmtp-common libmtp-runtime libmtp9 libnetplan0 libnfs13 libpython3-stdlib
  libraqm0 librsync2 librygel-core-2.6-2 librygel-db-2.6-2
  librygel-renderer-2.6-2 librygel-server-2.6-2 libsane-hpaio libsgutils2-2
  libsource-highlight-common libsource-highlight4v5 libtalloc2 libtevent0
  libwbclient0 libwhoopsie-preferences0 libwnck-3-0 libwnck-3-common
  libxatracker2 libxcb-icccm4 libxcb-image0 libxcb-keysyms1
  libxcb-render-util0 libxcb-xv0 libxcvt0 libxfont2 libxklavier16 libxres1
  libxss1 libxvmc1 mobile-broadband-provider-info network-manager-gnome
  policykit-1-gnome power-profiles-daemon printer-driver-hpcups
  printer-driver-postscript-hp python-apt-common python3-blinker
  python3-certifi python3-chardet python3-click python3-colorama
  python3-dateutil python3-debconf python3-debian python3-defer
  python3-distro-info python3-fasteners python3-future python3-httplib2
  python3-idna python3-importlib-metadata python3-jeepney python3-...

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

I believe you are trying to install samba-dev:i386 in amd64 system, am I right? I tried to do the same in a LXD container and it indeed removes a bunch of important packages, like ubuntu-minimal and netplan.io. However, i386 is not an officially supported architecture since Ubuntu Eoan 19.10 [1], which means that not all packages in the archive are built in i386 just a subset of them. When you try to install a package built for a foreign architecture, in this case i386 which is not fully supported, this type of thing might happen.

Regarding the apt behavior, I do not see a problem here. I got a list of all package that would be removed (including the ones I think it is important to run the system) and it asked for confirmation ([Y/n]). If you call apt in a non-interactive mode, passing -y option then that's the user choice.

TBH I do not see a real issue here. If your final goal is to use wine, it is available in the archive since Ubuntu Bionic 18.04 [2]. You could consider using the Debian package in the archive instead of compiling it by yourself, but I do understand you might have other reasons to compile it from source.

[1] https://lists.ubuntu.com/archives/ubuntu-devel-announce/2019-June/001261.html
[2] https://launchpad.net/ubuntu/+source/wine

Revision history for this message
Keith David Bershatsky (lawlist) wrote (last edit ):

Q: I believe you are trying to install samba-dev:i386 in amd64 system, am I right?

A: Yes, that is correct.

The dependencies for building Wine from source are listed on the Winehq wiki page:

https://wiki.winehq.org/Building_Wine

In the context of this particular bug report, the applicable dependency listed in the above-mentioned wiki, and also complained about by the configure script of Wine prior to building from source, is as follows:

libnetapi | samba-dev | samba-devel | smbclient | Networking | Rarely needed.

In my opinion, the developers of the samba-dev:i386 package should consciously make a decision whether it is absolutely necessary to leave the user with a broken installation of Ubuntu in order to properly install this package. If that is the case, then there should be an additional warning beyond merely which packages will be removed. E.g.,

WARNING: Installing samba-dev:i386 will remove packages essential to using a desktop GUI interface such as Gnome, including, but not limited to accessing the internet, submitting bug reports with apport, using a text editor such as gedit, installing packages with apt (due to no internet access), etc.

The developers of the samba-dev:i386 package should ask themselves whether it is absolutely necessary to remove things like gdm, apport, gedit, gnome desktop, etc.

There are just too many unsuspecting users of Ubuntu 22.04 LTS who will try to satisfy the dependencies of popular programs such as building Wine from source, and said users will assume that the worst that can happen is that it might be necessary to run: sudo apt remove ... or fix-broken, etc. In this case, using apt to fix anything is impossible because there is no way to download and install the packages that are being removed.

In my particular use case, I have consciously decided to build Wine from source for a variety of reasons, including, but not limited to have the benefit of the latest bug fixes and enhancements.

Revision history for this message
Paride Legovini (paride) wrote :

Looks like the culprit here is python3, as doing

  apt install python3:i386

causes the removal of several important packages. This in a Jammy LXD container and after doing `dpkg --add-architecture i386`.

The python3 package is marked Multi-Arch: allowed, so I would expect the i386 package to be co-installable without breaking the world, but I'm unsure on how this is supposed to be supported in Ubuntu (as Lucas mentioned i386 is not officially supported). Maybe we're just inheriting the Multi-Arch settings from Debian? I added a python3 task, let's see if we can get more information from a Python maintainer.

Relevant output (use `-o Debug::pkgProblemResolver=yes` for more verbosity):

root@paride-j:~# apt-get -s install python3.10-minimal:amd64 python3.10-minimal:i386
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3.10-minimal is already the newest version (3.10.6-1~22.04).
python3.10-minimal set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3.10-minimal : Conflicts: python3.10-minimal:i386 but 3.10.6-1~22.04 is to be installed
 python3.10-minimal:i386 : Recommends: python3.10:i386 but it is not going to be installed
                           Conflicts: python3.10-minimal but 3.10.6-1~22.04 is to be installed
E: Unable to correct problems, you have held broken packages.

affects: python3-defaults (Ubuntu) → python3.10 (Ubuntu)
Changed in samba (Ubuntu):
status: New → Incomplete
Olivier Gayot (ogayot)
tags: added: foundations-triage-discuss
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.