On Fri, Nov 17, 2017 at 12:30 AM, William L. Thomson Jr.
<[email protected]> wrote:
> On Thu, 16 Nov 2017 23:38:09 -0600
> R0b0t1 <[email protected]> wrote:
>>
>> Hopefully this is not a tangent, but the OpenJDK release is available
>> on Ubuntu. I have tried to understand the IcedTea build process and
>> failed, as I was hoping that it could be packaged for Gentoo before
>> the official IcedTea release. I was not able to find a timeline from
>> the OpenJDK project.
>
> Gentoo is a from source distro not binary. It will be some time before
> icedtea, some version support slot 9 will be available. There is no eta
> for icedtea. That comes from directly from RedHat. The person who
> makes it for the world does so on Gentoo, for RedHat their employer.
>

I am confused. I was aware that IcedTea was a build system, but I am
not aware as to how Ubuntu packaged OpenJDK 9.

In the context of Gentoo I meant "packaged" as in "created an ebuild
for," which is not proper language.

> I tried for years to get others to make a path for them to be able to
> become a dev and work in tree. Rather that work goes into java-overlay
> and is proxied to tree by Chewi/James.
> https://github.com/gentoo/java-overlay/tree/master/dev-java/icedtea
>

Though I am not a developer, this concerns me in other areas too. Many
developers do not produce extremely high quality code, but this
concern is cited as exactly the reason for keeping developership
exclusive. Projects I feel I should mention include genkernel and
crossdev. I had to temporarily give up my personal interests that
relied on them and have since begun rewriting them. In the small bit I
have done understanding crossdev, it has become apparent to me that
the authors did not reference the GCC build system documentation very
well. Of course, it may be the case that no one refers to it.

>> You focus on Oracle's Java?
>
> Yes, in brief, as the other will always lag. I would be some what
> interested in a actual OpenJDK package. That could build with either
> oracle or icedtea. Usually for production and business purposes people
> want to run Oracle. I do not know many who run icedtea/openjdk. Though
> I am sure they are out there. Definitely RedHat customers.
>

I expect the releases to lag, which is why I had been using Oracle's
JDK. Can you explain why there is an IcedTea ebuild but not an OpenJDK
ebuild?

> Also icedtea on Gentoo does not have OpenJavaFX. I am not
> sure any distro has OpenJavaFX packaged. I am not aware of any ebuilds
> ever for that. Probably be me someday if I ever have interest. Which
> can bind many to oracle for JavaFX. Which includes myself.
>

OpenJDK now contains an implementation of JavaFX. Debian and Ubuntu
have it packaged. For general instructions, see the following:

http://openjdk.java.net/projects/openjfx/
https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX

Packages:

https://tracker.debian.org/pkg/openjfx
https://packages.ubuntu.com/xenial/openjfx

I have recently been interested in JavaFX. It is far more user
friendly. Many open source applications still target Swing however, to
be compatible with old OpenJDK releases.

> Icedtea really is not a jdk but a build system. On Gentoo only it
> becomes the name of the JDK/JRE. It really is just OpenJDK built
> without Oracle. Ideally there is oracle, openjdk, and icedtea ebuilds.
> You then build openjdk with oracle or icedtea via USE flag.
>
> Icedtea will always lag from Oracle. There will always be oracle
> binaries before others. Yes you can build the source against it, but no
> one is working on that. Again Gentoo has what it does because of
> RedHat. Really for RedHats own interest, not Gentoo. Gentoo just
> benefits.
>
> It would likely be a considerable effort to have a openjdk that can
> build via oracle or icedtea/openjdk binaries. I think exherbo managed
> that, I am not sure.
>

My response to this is the same as above: Can you explain why the
Gentoo build system is the way it is? If you have any suggestions as
to what I should look at to better understand the OpenJDK build system
I would very much appreciate them.

> The lagging may get worse as JDK release is scheduled to speed up
> considerably come March. Say hello to Java 18.3....
> https://mreinhold.org/blog/forward-faster
>
>> The Oracle binaries seem to work well for me and I have experienced no
>> issues. Notably, Scala works transparently on the Oracle JDK 9. What
>> kind of issues are you seeing? The biggest issue I have had is that
>> some version tests do not parse "9" the same way as "1.8.0_152".
>
> There are tons of build issues for Java packages in tree. From not
> supporting < 1.6 source/target, The whole modules system. Changes with
> class visibility and deprecation of sun.* classes. No tools.jar. Odd
> build issues where some packages build fine under 1.8, but generate
> errors under 9 that require code fixes.
>
> A slew of issues that Gentoo already lacks man power to keep some stuff
> current. The amount of work is pretty tremendous on top of the state of
> the tree.
>
> Out of some 160 packages I had installed, 48 failed, with some 600+ to
> test still. There were more failures before some fixes. I am still
> working on fixing those and there are likely a considerable amount
> more.
>
> My overlay is already ahead of the tree in many ways. The tree has to
> play additional catchup. The tree itself without my overlay may have may
> more issues. I do not know. I am working on replacing all packages in
> tree, not running them. I need them kept current.
>

Do you have any recommendations for development policy?

At a certain point, would it make sense to drop old packages and not
bother to update them? I understand this is counter to what usually
happens, but if it would help crystalize a better Java release process
before the more frequent releases it may be worth it.

>> Adding Java 9 to the tree would help users who are interested
>> experiment with the language.
>
> The JDK/JRE could go into tree masked for anyone who wants to unmask. I
> have been pushing for that for some time, but will only happen when
> Chewi/James has time.
>

This seems to have helped with the stabilization of Python 3.5, and
Python 3.6 looks like it will go the same direction. Hopefully this
will occur for Java 9.

> JRE is safer than JDK. There will be issues with JDK if set to system
> VM and used to build Java packages on Gentoo. The mask should warn
> about such, etc.
>
>> As part of the first work on Python 3.5
>> (very minor) I installed it on my system but did not add it to
>> PYTHON_TARGETS. Is there an equivalent for Java?
>
> Heck no, Java is not in my opinion an pain like Ruby and Python. Perl
> is not either. In fact if I get time to re-write eclasses. I plan to
> move the versions from in ebuilds to eclass. Making 1 place to update
> source/target/release of a java package.
>
> Right now Java is controlled via depends. The DEPEND version sets the
> -source, and RDEPEND the -target version. Java 9 has a new -release.
> The source/target has  long time issue on Gentoo. To trigger you build
> with newer and run with older.
> https://wiki.gentoo.org/wiki/Java_Developer_Guide#Bootstrap_class_path
>

If I understand correctly, it is possible to install the JDK but not
set it to system VM? It is not clear to me why other languages need
more Portage machinery to handle coinstallation of different versions.

Cheers,
     R0b0t1

Reply via email to