-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenJDK support #4415
Comments
I'd also be interested in OpenJDK support on Linux. I'd be volunteering to help triage any Linux bugs that might be caused by using OpenJDK - but as far as I understand, the difference between Oracle's Java and OpenJDK isn't that substantial (anymore). |
Just a comment really but JRubyArt (a port of processing-3.0.2) to ruby works absolutely fine with openjdk (including javafx since 1.8.0_77). There may still be advantages to Oracle java however, the javafx bug got fixed ahead of openjdk for example. |
+1 to this. Differences between OpenJDK and Oracle Java are minimal, and Oracle's Java build is based on the OpenJDK source - they develop in the OpenJDK tree. OpenJDK is also the Java reference build, so theoretically if there's a difference in behaviour it's a bug in Oracle's version 😄 I'd love to see Processing fully open (as distributed). There are also certified OpenJDK builds for Windows and OSX by Azul (although not with OpenJFX). http://www.azul.com/downloads/zulu/ |
+1 Another reason is that how Linux package software. If the software wants to included in Debian/Ubuntu/Fedora/openSUSE/Arch/Gentoo Linux, it has to provide a source tarball that can be compiled independently, without downloading non-free binaries from a commercial company, like Orcale. |
Actually Archlinux via community repository already provides https://www.archlinux.org/packages/community/i686/processing/ with Hotspot VM included (ie as supplied by processing.org). Debian on the other hand are very sniffy as a consequence packages such ruby, jruby and even java can be hopelessly out of date. |
There's a change already in git master (not yet in a released version, but it should be in the next one), that allows Processing to work with an unmodified JRE out of the box. This doesn't do anything for OpenJDK support per se, but now it is at least possible for distributors to have Processing work together with a standalone Java package without jumping through hoops. (see 71cca0d) |
@monkstone pity the licensing information in that Arch package is incorrect then! 😄 In fact, I wasn't aware that Arch allowed commercially licensed software in community packages, but maybe I'm wrong there? Oh, and Debian OpenJDK should always be in sync with latest releases, because they're treated as security updates. @guoyunhe I'd like to see this from a let's make Processing truly open-source point of view, even if still a completely self-contained download. Packaging like standard Ubuntu / Debian packages if it forces dependency on other versions of JOGL, JNA, etc. is likely to go badly. |
@neilcsmith-net Agree with your last point. Believe that, in the age of |
@gohai yes, Snappy might be a more interesting packaging mechanism for Processing? http://snapcraft.io/ |
@neilcsmith-net I meant that not against packaging Processing as distribution packages, but rather against the notion that it couldn't bundle any components it requires. Because supporting this would just be insane. And it seems distributions too are warming up to the idea of the self-contained application that can come with its (tested & proven) libraries: see e.g. Flatpack. Thinking some simple package hierarchy, that doesn't impact actual development in a negative way could make sense: e.g. a package |
@gohai see eg. Flatpak, Snappy! 😄 I think we're pretty much saying the same thing, and it wouldn't be Linux if there weren't at least two options to have a needless fight over. In fact, they're just the new kids on the block - I remember using some Autopackage distributed stuff over 10 years ago. Your simple package hierarchy makes a lot of sense. Somewhat tangential to this issue, I guess, but a good reason for doing it. |
The processing package on Arch Linux uses OpenJDK, and it works pretty well. There is one issue when downloading some extensions with the Contribution Manager (could be related to how HTTP redirects are handled), otherwise it seems to work fine. |
Is the contribution manager issue different from #5554 ? Given there will be no free Oracle Java 8 from the end of next month, and the right to distribute Oracle's JDK from then on is probably uncertain, this OpenJDK move could do with happening quite quickly! AdoptOpenJDK 8 would be the obvious replacement at the moment. No differences between free Oracle Java and OpenJDK going forward either! 😄 Well, except in duration of free support, which will only be 6 months from Oracle. |
Yes, the issue is very similar to #5554. I think it's the same problem. |
I've been trying to install Processing for the past few days now (I keep finding
I'm installing it in Arch (with i3, if the DE matters) via
I decided to try it with the JDK8 from the AUR. It failed that way too. I'd really like to try it. But @xyproto 's comment
Seems not to be the case for me. |
@malan88 what I expect is happening for you is that Archlinux by default now installs jdk11, and the processing launch script doesn't play too well with jdk11. You need to install jdk8, and make that the default java/jdk, which on Archlinux you can easily do using |
I updated the Arch Linux |
@monkstone Thank you. It worked. I am unsure why trying the JDK8 from the AUR didn't work. I am suspicious that I didn't install the JDK8 (installing the JDK11 instead). I cannot remember. It works anyway, and I appreciate it. Thank you, @xyproto for updating the Arch package: it makes far more sense to have it require OJDK8. |
Focusing first on getting "hello world" applications running under Java 11, this initial migration works for Mac OS X (10.14.1). There are a number of issues and warnings still to address so the overall PR remains WIP. Specific modifications to address processing#5750: - Modification in build system to address a unified JDK / JRE. - Modification in build system and application code to deal with version naming convention migration. - Modification of OS X specific system paths changed by Java 11. - Migration to OpenJDK (processing#4415) via AdoptOpenJDK (selected due to long term build support and some vendor independence). - Migration to OpenJFX (processing#5286). - Removal of deprecated `java.ext.dirs` (replacement funcationality is still being explored). - Update to the appbundler fork. - Update to the JDT jars. Documentation is still incomplete as is reaching feature parity on mac as well as testing on other OS'. Please don't merge yet.
Focusing first on getting "hello world" applications running under Java 11, this initial migration works for Mac OS X (10.14.1). There are a number of issues and warnings still to address so the overall PR remains WIP. Specific modifications to address processing#5750: - Modification in build system to address a unified JDK / JRE. - Modification in build system and application code to deal with version naming convention migration. - Modification of OS X specific system paths changed by Java 11. - Migration to OpenJDK (processing#4415) via AdoptOpenJDK (selected due to long term build support and some vendor independence). - Migration to OpenJFX (processing#5286). - Removal of deprecated `java.ext.dirs` (replacement funcationality is still being explored). - Update to the appbundler fork. - Update to the JDT jars. Documentation is still incomplete as is reaching feature parity on mac as well as testing on other OS'. Please don't merge yet.
Focusing first on getting "hello world" applications running under Java 11, this initial migration works for Mac OS X (10.14.1). There are a number of issues and warnings still to address so the overall PR remains WIP. Specific modifications to address processing#5750: - Modification in build system to address a unified JDK / JRE. - Modification in build system and application code to deal with version naming convention migration. - Modification of OS X specific system paths changed by Java 11. - Migration to OpenJDK (processing#4415) via AdoptOpenJDK (selected due to long term build support and some vendor independence). - Migration to OpenJFX (processing#5286). - Removal of deprecated `java.ext.dirs` (replacement funcationality is still being explored). - Update to the appbundler fork. - Update to the JDT jars. Documentation is still incomplete as is reaching feature parity on mac as well as testing on other OS'. Please don't merge yet.
Closing this old thread since this isn't a discussion forum; there's work in progress here for OpenJDK. |
(First of all, thanks to this awesome community!)
Trust me, I know that OpenJDK has strange behaviors, but think about avoiding Oracle's JRE for future versions of Processing.
Installing third-party software (or worse non-free as in freedom software) it's something normal for Microsoft Windows and OS X users, but this is a nasty thing for GNU/Linux distributions built over complex dependencies systems, with a wide web of already trusted and packaged software.
Mark this bug as
enhancement
if you want, but please don't close it. Processing, and Processing users, really deserves to be not forced to use Oracle's software.The text was updated successfully, but these errors were encountered: