Ubuntu Make should depends on openjdk-8 as Xenial removed openjdk-7 #279

Closed
tbroyer opened this Issue Mar 31, 2016 · 20 comments

Comments

Projects
None yet
7 participants

tbroyer commented Mar 31, 2016

Xenial has no openjdk-7-jdk package [1] which will likely break most Java-based IDEs' installation that have packages_requirements=['openjdk-7-jdk'],

I notice that some others (Kotlin, Scala) have packages_requirements=["openjdk-7-jre | openjdk-8-jre"],, so they should probably be updated to packages_requirements=["openjdk-7-jdk | openjdk-8-jdk"], (assuming it works on Xenial where openjdk-7-jdk doesn't exist at all).

That said, would java7-jdk work? (the Oracle package from Webupd8 provides it for instance, and java7-jdk is provided by Java 8 packages such as openjdk-8-jdk) I suppose the problem with java7-jdk is that being a virtual package you cannot apt-get install it? (never tried, just an hypothesis) Maybe listing java7-jdk as an alternative would allow an Oracle (or other) JDK? (would detect an installed JDK and as a result wouldn't install an OpenJDK).

Related to #251 and b3005f7

[1] https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1563986

Collaborator

LyzardKing commented Mar 31, 2016

Kotlin and scala have their own compiler, independent from the jdk.
For oracle java we'd need to come up with a better way, since it can be installed in different ways.

I thought that xenial still had openjdk-7.
We can fix the dependencies, are we aware of any issues with intellij/eclipse ides with java-8?

tbroyer commented Mar 31, 2016

I thought that xenial still had openjdk-7.

Actually, I tried an upgrade to beta-2 this morning and, seeing it wanted to uninstall openjdk-7, I cancelled and looked up the reason (starting with http://packages.ubuntu.com/search?keywords=openjdk-7&searchon=names&suite=xenial&section=all, vs http://packages.ubuntu.com/search?keywords=openjdk-7&searchon=names&suite=wily&section=all)

Re. other JDKs, would adding java7-jdk as alternative work at least for the Webupd8 packages?

are we aware of any issues with intellij/eclipse ides with java-8?

Given that umake downloads the latest versions, and java-7 has been EOL'd one year ago (Oracle JDK, not OpenJDK, but still), I'd bet all issues have been solved for a long time; not to mention that all those IDEs (obviously) support writing (compiling, testing, debugging, refactoring, etc.) Java 8.
(actually, JetBrains shows –or at least used to show– a warning on stdout/stderr when launched with OpenJDK, saying you should rather use an Oracle JDK; so I'd actually worry more about OpenJDK vs Oracle JDK than Java 7 vs. Java 8).

tbroyer commented Apr 1, 2016

Oh BTW, JetBrains now packages a JRE to launch their tools, so there's no real dependency on a JDK (and btw it looks like java-8 is now required). A JDK is only needed if you want to develop in Java. See https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under and https://www.jetbrains.com/help/idea/2016.1/requirements-for-intellij-idea.html#d715320e221

(there's some contradictory documentation that asks you to install an Oracle JDK: https://www.jetbrains.com/help/idea/2016.1/installing-and-launching.html#d1780374e292, I suppose it's simply out of date)

Collaborator

LyzardKing commented Apr 1, 2016

So the jdk is still needed for Idea, right?
The others are ides for other languages, so the jdk is not needed.
Comment on the PR #282

tbroyer commented Apr 1, 2016

Just downloaded IDEA Community Edition (manually); it starts without problem (using its own bundled JRE), and you can open and create projects without problem.
Because you do not have a JDK configured though, it asks you whether you really want to create the project without JDK (or you can configure a JDK directly from the wizard, assuming you have a JDK installed already).

So, the JDK is not strictly required for IDEA, but of course if you do Java development (or a JVM-based language such as Kotlin or Groovy) then you'll need a JDK. I'd assume a developer is savvy enough to install a JDK himself (particularly one who already found and installed umake 😉 )

@tbroyer tbroyer referenced this issue Apr 1, 2016

Merged

Openjdk 8 #282

Owner

didrocks commented Apr 5, 2016

There is now a fix released thanks to @LyzardKing :)
https://twitter.com/didrocks/status/717255274747273216

@didrocks didrocks closed this Apr 5, 2016

Hi,

could you please confirm that ubuntu-make 16.04 can actually provide openjdk-7-jdk ?
There are a lot of people stuck with lollipop and marshmallow build systems
Thanks

Mauro

tbroyer commented Apr 18, 2016

ubuntu-make does not provide openjdk-7-jdk, it's been updated to work without it, when only openjdk-8-jdk is available (as in Xenial).

FYI, the CyanogenMod build process relies on openjdk-7 and fails due to this issue.

Last week I upgraded(?) to Xenial. Now I'm trying to do some builds of CyanogenMod which REQUIRES openjdk-7. It's been removed!!! I'm DEAD IN THE WATER. HELP!!!!

Hi, there is a ppa you can use to have back openjdk-7-jdk, after installing
it I also removed openjdk-8-jdk.

Mauro
Il 25/mag/2016 07:22, "Warren" notifications@github.com ha scritto:

Last week I upgraded(?) to Xenial. Now I'm trying to do some builds of
CyanogenMod which REQUIRES openjdk-7. It's been removed!!! I'm DEAD IN THE
WATER. HELP!!!!


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
ubuntu#279 (comment)

Owner

didrocks commented May 25, 2016

openjdk-7-jdk being removed from Xenial (Ubuntu 16.04 LTS) has nothing to do with Ubuntu Make itself. I suggest you open a bug report on launchpad and subscribe to it there, as this is where you can reach out to the Ubuntu java maintainer.

docbill commented Jul 27, 2016

Yeah. This pretty much has killed several of my docker files from building. For example,
docbill/ubuntu-umake-eclipse has been failing it it's auto build for several months now. I tried manually finding a way to fix it but I couldn't get past all the new dependancy issues. Not only is it trying to use a version of the jdk that no longer seems to exist, but it is trying to install i386 binaries inside a docker container. Docker containers can only run 64 bit code...

Well I guess the one good thing is the test case is trivial to reproduce. Just try building the dockerfile...

docbill commented Jul 27, 2016

BTW. I'm not sure why didrock closed this. Is there anyway to fix this issue outside of umake?

Owner

didrocks commented Jul 28, 2016

It's closed because openjdk7 isn't available at all on Xenial. That means it's not something that Ubuntu Make can fix on its own, but at the distro level (see my last comment about opening the bug report on launchpad).

Owner

didrocks commented Jul 28, 2016

btw, I'm interested about your container usage, how did you use ubuntu make with docker container: is it to build stacks of ready-to-use IDEs?

tbroyer commented Jul 28, 2016

@didrocks Maybe the issue title should be changed to better reflect what the issue is about? How about “umake is broken where openjdk-7 isn't available (e.g. Xenial)”?

BTW, I quickly looked at @docbill's containers and yes umake is used to install Eclipse inside the container; see https://github.com/docbill/ubuntu-umake-eclipse#overview

Owner

didrocks commented Jul 28, 2016

We have changed the dep though on openjdk-8 for eclipse and other, do you see some frameworks still depending on openjdk7? From our tests, all IDEs are now starting and working well with it (which is the goal of umake, setting up the dev environment based on what Ubuntu offers)

I don't think this title will be accurate (umake isn't actually broken, the IDEs are installed and running fine with openjdk8), but rather people who want to do openjdk-7 development only and not 8 aren't able to use Xenial? Am I right in this understanding?

tbroyer commented Jul 28, 2016

The original issue was that umake was trying to install openjdk-7 so it was broken on Xenial as it couldn't install anything that needed Java. The change was to depend on either openjdk-7 or openjdk-8.

Many people come to this issue because they're missing openjdk-7, but this is not what this issue was about, and I think the current title is misleading as it could be understood as "let umake install openjdk-7 on Xenial" (exactly what all recent comments are asking about). What I'm proposing is making it clear what this issue is about, not repurposing it for that other thing people are asking about (and that is an Ubuntu issue, that you can "workaround" using either Zulu or oracle-java7-installer)

@didrocks didrocks changed the title from Xenial removed openjdk-7 to Ubuntu Make should depends on openjdk-8 as Xenial removed openjdk-7 Jul 28, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment