This is because it depends on the java8-runtime-headless package which isn't available for releases older than 14.10.
Instead, it should be relying on the openjdk-8-jre package.
openjdk-8-jre is also not available on Ubuntu 14.04:
$ docker run -it ubuntu:14.04 /bin/bash
root@82500d7ebcbc:/# apt-get update
Ign http://archive.ubuntu.com trusty InRelease
Ign http://archive.ubuntu.com trusty-updates InRelease
Ign http://archive.ubuntu.com trusty-security InRelease
Hit http://archive.ubuntu.com trusty Release.gpg
Get:1 http://archive.ubuntu.com trusty-updates Release.gpg [933 B]
Get:2 http://archive.ubuntu.com trusty-security Release.gpg [933 B]
Hit http://archive.ubuntu.com trusty Release
Get:3 http://archive.ubuntu.com trusty-updates Release [63.5 kB]
Get:4 http://archive.ubuntu.com trusty-security Release [63.5 kB]
Get:5 http://archive.ubuntu.com trusty/main Sources [1335 kB]
Get:6 http://archive.ubuntu.com trusty/restricted Sources [5335 B]
Get:7 http://archive.ubuntu.com trusty/universe Sources [7926 kB]
Get:8 http://archive.ubuntu.com trusty/main amd64 Packages [1743 kB]
Get:9 http://archive.ubuntu.com trusty/restricted amd64 Packages [16.0 kB]
Get:10 http://archive.ubuntu.com trusty/universe amd64 Packages [7589 kB]
Get:11 http://archive.ubuntu.com trusty-updates/main Sources [297 kB]
Get:12 http://archive.ubuntu.com trusty-updates/restricted Sources [4513 B]
Get:13 http://archive.ubuntu.com trusty-updates/universe Sources [175 kB]
Get:14 http://archive.ubuntu.com trusty-updates/main amd64 Packages [788 kB]
Get:15 http://archive.ubuntu.com trusty-updates/restricted amd64 Packages [22.7 kB]
Get:16 http://archive.ubuntu.com trusty-updates/universe amd64 Packages [416 kB]
Get:17 http://archive.ubuntu.com trusty-security/main Sources [122 kB]
Get:18 http://archive.ubuntu.com trusty-security/restricted Sources [3230 B]
Get:19 http://archive.ubuntu.com trusty-security/universe Sources [35.4 kB]
Get:20 http://archive.ubuntu.com trusty-security/main amd64 Packages [440 kB]
Get:21 http://archive.ubuntu.com trusty-security/restricted amd64 Packages [19.4 kB]
Get:22 http://archive.ubuntu.com trusty-security/universe amd64 Packages [151 kB]
Fetched 21.2 MB in 59s (356 kB/s)
Reading package lists... Done
root@82500d7ebcbc:/# apt-get install openjdk-8-jre
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package openjdk-8-jre
root@82500d7ebcbc:/#
We have already updated Mesosphere's Download page with instructions on how to install Java 8 on old versions of Ubuntu.
Oops, I guess I was missing a backports repo. Anyway, thanks for fixing the
instructions!
On Mon, Oct 5, 2015 at 9:18 AM, Gastón Kleiman [email protected]
wrote:
Closed #2357 https://github.com/mesosphere/marathon/issues/2357.
—
Reply to this email directly or view it on GitHub
https://github.com/mesosphere/marathon/issues/2357#event-426980267.
@ssk2 @gkleiman any way to not force the dependency on us ? This should be let to the user.
In my example, using Ubuntu 14.04 LTS:
The following packages have unmet dependencies:
marathon : Depends: java8-runtime-headless but it is not installable
I do not want to install the 3rd party PPA as you instruct. Our nodes are provisioned to pull from Oracle directly, yet marathon won't install:
root@mesos-1:/usr/lib/jvm# java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
@scalp42 - can you point us to the installation method you use and I'll investigate further?
@ssk2, @scalp42: see also my comment on #2384:
@scalp42 if you have already satisfied the dependency by installing Java 8 without using Ubuntu's pkg system, then you can use equivs-build to make an empty Debian package to register it.
See http://shallowsky.com/blog/linux/install/blocking-deb-dependencies.html for an example.
@gkleiman I'm getting:
W: Failed to fetch http://ppa.launchpad.net/webupd8team/java/ubuntu/dists/jessie/main/binary-amd64/Packages 404 Not Found
@mlowicki You appear to be trying to use a PPA on debian which won't work.
Hi @jkleiman
You've mentioned:
"We have already updated Mesosphere's Download page with instructions on how to install Java 8 on old versions of Ubuntu."
Since that link doesn't contain the instructions any more, could you please add those instructions as part of this issue - so that any of us landing on this page will be able to use it.
Thank you!
Here is what worked for me:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
@selvik unfortunately, some folks don't want to pull in this PPA.
@scalp42, Ah..I see. Thanks for letting me know. Since I'm only playing with this on test systems, I'll stick with it for now.
One can use equivs to generate a dummy .deb that satisfies java8-runtime-headless requirement. This is useful if you are installing java8 from a .tar.gz and don't want to redownload the jre/jdk for every node.
apt-get install equivs
# create file using template
equivs-control dummy-jdk-8u91
# create .deb
equivs-build dummy-jdk-8u91
dpkg -i dummy-oracle-jdk_1.8.91_all.deb
In file dummy-jdk-8u91
### Commented entries have reasonable defaults.
### Uncomment to edit them.
Section: misc
Priority: optional
Standards-Version: 3.9.2
Package: dummy-oracle-jdk
Version: 1.8.91
Provides: java8-runtime-headless,default-jre-headless,java-runtime-headless
Description: dummy package to satisfy java8-runtime-headless dep for manual install
long description and info
.
second paragraph
Most helpful comment
Here is what worked for me:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default