Getting dependency error when trying to install vim on noble chroot

Bug #2059862 reported by Juozas Pocius

This bug report was converted into a question: question #710903: Getting dependency error when trying to install packages such as vim to noble chroot.

26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
vim (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

I'm getting dependency conflict when trying to install vim in Ubuntu noble chroot. The dependency version it wants is older then what is available in repositories. Running apt-get install vim fails with error as shown below:

(chroot) $ sudo apt-get install vim
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
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:
 vim : Depends: vim-common (= 2:9.1.0016-1ubuntu3) but 2:9.1.0016-1ubuntu6 is to be installed
       Depends: vim-runtime (= 2:9.1.0016-1ubuntu3) but 2:9.1.0016-1ubuntu6 is to be installed
E: Unable to correct problems, you have held broken packages.

Apt-cache policy shows older version of vim available while in launchpad the newer version is shown, also the amd64 package version 2:9.1.0016-1ubuntu6 is missing from repositories, no amd64 deb within repository pool directory of repository files

(chroot) $ apt-cache policy vim
vim:
  Installed: (none)
  Candidate: 2:9.1.0016-1ubuntu3
  Version table:
     2:9.1.0016-1ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages

If vim was installed before, it would be uninstalled by upgrading vim-common and vim-runtime

My sources list file:

(chroot) $ cat /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-backports main restricted universe multiverse

Contents of /etc/lsb-release

(chroot) $ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu Noble Numbat (development branch)"

Host is Ubuntu 22.04 LTS, using schroot 1.6.10 to access Ubuntu Noble chroot

Edit: This is caused by broken apt repositories for Ubuntu Noble caused by mitigation of the related cve not yet being completed.
Workaround: Add pinning override to apt config to make noble-updates be more prefered than noble by also allowing downgrade to older version that might be uploaded later than the compromised ones.

To do that, add an apt pinning override, e.g. create a new file in /etc/apt/preferences.d/, where pinning > 1000 means allowing downgrade and installing vim and other packages correctly:

Package: *
Pin: release a=noble-updates
Pin-Priority: 1002
Package: *
Pin: release a=noble
Pin-Priority: 1001

Apt cache policy should return something like this:

Package files:
 100 /var/lib/dpkg/status
     release a=now
1002 http://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages
     release v=24.04,o=Ubuntu,a=noble-updates,n=noble,l=Ubuntu,c=multiverse,b=amd64
     origin archive.ubuntu.com
1002 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages
     release v=24.04,o=Ubuntu,a=noble-updates,n=noble,l=Ubuntu,c=universe,b=amd64
     origin archive.ubuntu.com
1002 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages
     release v=24.04,o=Ubuntu,a=noble-updates,n=noble,l=Ubuntu,c=restricted,b=amd64
     origin archive.ubuntu.com
1002 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
     release v=24.04,o=Ubuntu,a=noble-updates,n=noble,l=Ubuntu,c=main,b=amd64
     origin archive.ubuntu.com
1001 http://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages
     release v=24.04,o=Ubuntu,a=noble,n=noble,l=Ubuntu,c=multiverse,b=amd64
     origin archive.ubuntu.com
1001 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages
     release v=24.04,o=Ubuntu,a=noble,n=noble,l=Ubuntu,c=universe,b=amd64
     origin archive.ubuntu.com
1001 http://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages
     release v=24.04,o=Ubuntu,a=noble,n=noble,l=Ubuntu,c=restricted,b=amd64
     origin archive.ubuntu.com
1001 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
     release v=24.04,o=Ubuntu,a=noble,n=noble,l=Ubuntu,c=main,b=amd64
     origin archive.ubuntu.com
Pinned packages:

Also don't forget to check for obsolete packages by running apt list ?obsolete and remove them or install an alternative dependency if needed by checking package depends by running apt-cache depends or something alike.

Finaly you can run apt upgrade and apt dist-upgrade then to "downgrade" versions to ones provided by -updates archive.

CVE References

Juozas Pocius (juozaspo)
description: updated
Revision history for this message
Romwriter (romwriter) wrote :

noble repositories are currently broken due to security disaster response, cf. https://ubuntu.com/security/CVE-2024-3094

Juozas Pocius (juozaspo)
summary: - Getting dependency error when trying to install of vim on noble chroot
+ Getting dependency error when trying to install vim on noble chroot
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in vim (Ubuntu):
status: New → Confirmed
Revision history for this message
Ro$k0 (kroskolii) wrote :
Revision history for this message
Pramod Gavali (prgavali) wrote :

Same error for `build-essential`

:~# apt install build-essential
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
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:
 cpp-13 : Depends: gcc-13-base (= 13.2.0-13ubuntu1) but 13.2.0-16ubuntu1 is to be installed
 cpp-13-x86-64-linux-gnu : Depends: gcc-13-base (= 13.2.0-13ubuntu1) but 13.2.0-16ubuntu1 is to be installed
 g++-13 : Depends: gcc-13-base (= 13.2.0-13ubuntu1) but 13.2.0-16ubuntu1 is to be installed
 g++-13-x86-64-linux-gnu : Depends: gcc-13-base (= 13.2.0-13ubuntu1) but 13.2.0-16ubuntu1 is to be installed
                           Depends: libstdc++-13-dev (= 13.2.0-13ubuntu1) but it is not going to be installed
 gcc-13 : Depends: gcc-13-base (= 13.2.0-13ubuntu1) but 13.2.0-16ubuntu1 is to be installed
 gcc-13-x86-64-linux-gnu : Depends: gcc-13-base (= 13.2.0-13ubuntu1) but 13.2.0-16ubuntu1 is to be installed
                           Depends: libcc1-0 (>= 13.2.0-13ubuntu1) but it is not going to be installed
                           Depends: libgcc-13-dev (= 13.2.0-13ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Juozas Pocius (juozaspo)
description: updated
description: updated
Changed in vim (Ubuntu):
status: Confirmed → Invalid
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.