Fix for ‘Java-8 Will not Upgrade since Jan 2017’ under Debian Jessie
Posted by alexkemp on 6 February 2017 in English. Last updated on 7 February 2019.tl;dr: use the following from a console:
$ sudo apt install -t jessie-backports openjdk-8-jre-headless ca-certificates-java
JOSM needs Java-8. Open-Java-8 is available via Jessie Backports, but the current update (8u121-b13-1~bpo8+1
) needs updated CA-Certificates which were not previously available from Backports (see Debian bug#851667). Unfortunately, Synaptic will not spot the updated certificates in Backports since it keeps holding back openjdk-8-jre
, etc.. Thus, the need to use the console line as at top.
Unfortunately, I’d worked my way through the very-useful AskUbuntu question on:
“E: Unable to correct problems, you have held broken packages”
…and had therefore removed all Oracle + OpenJDK Java8 (which meant that all JOSM was also gone & all my Java alternatives reverted to Java7). However, it also meant that I had a different error message on attempted reinstall of Java-8:
$ sudo apt-get install openjdk-8-jre openjdk-8-jre-headless ca-certificates-java
...
The following packages have unmet dependencies:
openjdk-8-jre-headless : Breaks: ca-certificates-java (< 20160321~) but 20140324 is to be installed
E: Unable to correct problems, you have held broken packages.
That allowed me to find a Unix Stack Exchange Q which solved the issue. Now I need to reinstall JOSM & make Java-8 the system default (sigh)…
Discussion