Wednesday, January 5, 2022

[SOLVED] libgnutls28-dev: apt is searching for the wrong file?

Issue

I am having trouble installing libgnutls28-dev package on debian buster, apt throws the following:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  gnutls-bin gnutls-doc
The following NEW packages will be installed:
  libgnutls28-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,086 kB of archives.
After this operation, 4,417 kB of additional disk space will be used.
Err:1 http://deb.debian.org/debian buster/main amd64 libgnutls28-dev amd64 3.6.7-4
  404  Not Found [IP: 151.101.220.204 80]
E: Failed to fetch http://deb.debian.org/debian/pool/main/g/gnutls28/libgnutls28-dev_3.6.7-4_amd64.deb  404  Not Found [IP: 151.101.220.204 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

The thing that bugs me is that the package is available at http://deb.debian.org/debian/pool/main/g/gnutls28/libgnutls28-dev_3.6.7-4+deb10u2_amd64.deb, and for some reason apt is looking for libgnutls28-dev_3.6.7-4_amd64.deb instead of libgnutls28-dev_3.6.7-4+deb10u2_amd64.deb.

I tried using a specific version running apt install libgnutls28-dev=3.6.7-4+deb10u2 and got the following:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Version '3.6.7-4+deb10u2' for 'libgnutls28-dev' was not found

The question is where does this come from? is it an apt issue? or is it gnutls28 misinforming about dependencies? or should there be a file libgnutls28-dev_3.6.7-4_amd64.deb in the first place?

[EDIT]

Adding this based on Knud's comment:

According to apt the system is up-to-date:

apt update
Hit:1 http://deb.debian.org/debian buster InRelease
Hit:2 http://deb.debian.org/debian buster-updates InRelease
Hit:3 http://security.debian.org/debian-security buster/updates InRelease            
Hit:4 http://deb.debian.org/debian buster-backports InRelease                        
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.

I confirmed with one of the package mantainers, the available version _3.6.7-4+deb10u2 is the latest version, and apt should be aware of this, yet:

apt-cache policy libgnutls28-dev
libgnutls28-dev:
  Installed: (none)
  Candidate: 3.6.7-4
  Version table:
     3.6.7-4 500
        500 http://deb.debian.org/debian buster/main amd64 Packages

So this is an apt issue. For some reason apt, even with supercow powers, is stuck in an outdated state of affairs. Any guidance would be greatly appreciated.


Solution

Found a solution, thanks to kind guidance by Andreas Metzler.

The mirror apparently is stuck with an outdated package index. I was using deb.debian.org that as i understand redirects apt to a nearby server. I updated the sources.list files in /etc/apt/ so they now point to a fixed nearby server and everything runs ok.



Answered By - Coy