Saturday, December 31, 2016

apt - Ubuntu 18.04 Can't upgrade because of libpython3.6 version conflicts



After having updated to Ubuntu 18.04, when I try to upgrade my system via



sudo apt update && sudo apt upgrade


I get this:




Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
gdb gir1.2-peas-1.0 libpeas-1.0-0 openshot
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.



Of course I tried sudo apt install -f without success:



$ sudo apt install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.


One suggested solution was to install each separately, but that doesn't work either:




$ sudo apt install libpeas-1.0-0
Reading package lists... Done
Building dependency tree
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:
libpeas-1.0-0 : Depends: libpython3.6 (>= 3.6.4~rc1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


So I tried to install libpython3.6, which doesn't work because



 The following packages have unmet dependencies:
libpython3.6 : Depends: libpython3.6-stdlib (= 3.6.5-3) but 3.6.5-5~16.04.york1 is to be installed



Now I can't remove/install/downgrade to this version because apt would then remove about 200 packages including things like xorg, firefox, gnome-session and pretty much every package I ever heard of.



One other thing I wanted to try taken from the question here was



sudo dpkg --install --force all /var/cache/apt/archives/libpython3[version].deb


but there was no file with my needed version number.




Edit: I downloaded the specific version via apt download libpython3.6-stdlib=3.6.5-3 and installed it with above command. Now I can neither do upgrade nor autoremove, and I get this warning for both:



The following packages have unmet dependencies:
libpython3.6-stdlib : Depends: libpython3.6-minimal (= 3.6.5-3) but 3.6.5-5~16.04.york1 is installed
python3.6 : Depends: libpython3.6-stdlib (= 3.6.5-5~16.04.york1) but 3.6.5-3 is installed


What else can I do? Thanks for any help.




The issue was caused by the jonathonf/python-3.6 PPA I had enabled in 16.04. The upgrade to 18.04. disabled this PPA, installed the libpython3.6 in the non-ppa version (the york version are from the PPA), and therefore caused a missing dependency. First I had to revert the downgrade mentioned in the Edit with analogous apt download and forced dpkg commands.



I reenabled the PPA (also changed bionic to xenial in /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-xenial.list) and after an easy



sudo apt update && sudo apt install -f && sudo apt upgrade


everything is working fine now again.


No comments:

Post a Comment

11.10 - Can't boot from USB after installing Ubuntu

I bought a Samsung series 5 notebook and a very strange thing happened: I installed Ubuntu 11.10 from a usb pen drive but when I restarted (...