Ubuntu 13.10 to 14.04: failed to upgrade libsmbclient:amd64 with libsmbclient:i386 installed.

Bug #1308657 reported by tcedi on 2014-04-16
This bug affects 7 people
Affects Status Importance Assigned to Milestone
samba4 (Debian)
Fix Released
samba4 (Ubuntu)
Michael Vogt
Michael Vogt

Bug Description

Occurs when calculating changes when using 'update-manager -d -c', as indicated in the testcase.

ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: ubuntu-release-upgrader-core 1:0.205.5
ProcVersionSignature: Ubuntu 3.11.0-19.33-generic
Uname: Linux 3.11.0-19-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.12.5-0ubuntu2.2
Architecture: amd64
CrashDB: ubuntu
Date: Wed Apr 16 19:32:32 2014
InstallationDate: Installed on 2012-06-23 (661 days ago)
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: ubuntu-release-upgrader
UpgradeStatus: Upgraded to saucy on 2014-04-16 (0 days ago)

Jean-Baptiste Lallement (jibel) wrote :

Thanks for your report.

This part of apt.log looks bad.

Installing python-talloc as Dépend of samba-libs
  MarkInstall python-talloc [ i386 ] < none -> 2.1.0-1 > ( python ) FU=0
  Installing python as Dépend of python-talloc
    MarkInstall python [ i386 ] < none -> 2.7.5-5ubuntu3 > ( python ) FU=0
    Installing python2.7 as Dépend of python
      MarkInstall python2.7 [ i386 ] < none -> 2.7.6-8 > ( python ) FU=0
      Installing python2.7-minimal as Dépend of python2.7
        MarkInstall python2.7-minimal [ i386 ] < none -> 2.7.6-8 > ( python ) FU=0
         Removing: python2.7-minimal
          MarkDelete python2.7-minimal [ amd64 ] < 2.7.5-8ubuntu3.1 -> 2.7.6-8 > ( python ) FU=0
       Removing: python2.7
        MarkDelete python2.7 [ amd64 ] < 2.7.5-8ubuntu3.1 -> 2.7.6-8 > ( python ) FU=0
    Installing python-minimal as Dépend of python
      MarkInstall python-minimal [ i386 ] < none -> 2.7.5-5ubuntu3 > ( python ) FU=0
       Removing: python-minimal
        MarkDelete python-minimal [ amd64 ] < 2.7.5-5ubuntu1 -> 2.7.5-5ubuntu3 > ( python ) FU=0
    Installing libpython-stdlib as Dépend of python
      MarkInstall libpython-stdlib [ i386 ] < none -> 2.7.5-5ubuntu3 > ( python ) FU=0
     Removing: python
      MarkDelete python [ amd64 ] < 2.7.5-5ubuntu1 -> 2.7.5-5ubuntu3 > ( python ) FU=0
   Removing: python-talloc
    MarkDelete python-talloc [ amd64 ] < none -> 2.1.0-1 > ( python ) FU=0

apt tries (and fails ) to upgrade the full python:i386 stack because libsmbclient:i386 is installed. Instead it should probably prefer the native arch, upgrade amd64 packages and remove i386 ones.

Setting to confirmed.

Changed in ubuntu-release-upgrader (Ubuntu):
importance: Undecided → High
status: New → Triaged
Jean-Baptiste Lallement (jibel) wrote :

I confirmed on IRC with the OP that u-r-u could calculate the upgrade after libsmbclient:i386 has been removed.

Changed in ubuntu-release-upgrader (Ubuntu):
assignee: nobody → Michael Vogt (mvo)
Changed in ubuntu-release-upgrader (Ubuntu Trusty):
milestone: none → trusty-updates
summary: - Ubuntu 13.10 to 14.04 desktop upgrade mandatory testcase failed with
- message 'An unresolvable problem occurred while calculating the
- upgrade.'
+ Ubuntu 13.10 to 14.04: failed to upgrade libsmbclient:amd64 with
+ libsmbclient:i386 installed.
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:

tags: added: iso-testing
Brian Murray (brian-murray) wrote :

Is this due to the same issue as bug 1307904?

Jean-Baptiste Lallement (jibel) wrote :

I am not sure because in 1307904 grep was not installed at all, while in this case apt selects the foreign arch rather than the native arch.

No, I don't think that this is due to the same issue as bug 1307904. I've looked at it before filing the bug...
The workaround provided by jibel works like a charm.
I just had to remove libsmbclient:i386 to be able to perform the upgrade without a hitch!

Michael Vogt (mvo) wrote :

It seems the root cause of the problem is that libsmbclient:i386 and libsmbclient:amd64 can be co-installed in saucy but this is no longer possible with trusty. This appears to be because of the switch to samba4 that introduced a dependency on samba-libs which in turn adds python-talloc which is not multiarched.

Michael Vogt (mvo) wrote :

It turns out that samba-libs contains a shared library that depends on the libpytalloc-util.so.2 library from python-talloc:

$ ldd /usr/lib/x86_64-linux-gnu/samba/libsamba_python.so.0 | grep libpytalloc-util
 libpytalloc-util.so.2 => /usr/lib/x86_64-linux-gnu/libpytalloc-util.so.2 (0x00007f0603701000)

So we can either:
  - move /usr/lib/x86_64-linux-gnu/samba/libsamba_python.so.0 to samba-python
  - move libpytalloc-util.so.2 to libtalloc2
to get libsmbclient upgradable.

Michael Vogt (mvo) on 2014-04-17
affects: ubuntu-release-upgrader (Ubuntu Trusty) → samba4 (Ubuntu Trusty)
Changed in samba4 (Debian):
status: Unknown → Confirmed
Mathew Hodson (mhodson) on 2015-08-21
Changed in samba4 (Ubuntu):
milestone: trusty-updates → none
Changed in samba4 (Debian):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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