Gentoo Archives: gentoo-dev

From: R0b0t1 <r030t1@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Java 9 on Gentoo
Date: Fri, 17 Nov 2017 07:24:11
Message-Id: CAAD4mYiFUBLQRaGqG016sSP1piWYPOKAZ0YPASkNYnD_7ati=g@mail.gmail.com
In Reply to: Re: [gentoo-dev] Java 9 on Gentoo by "William L. Thomson Jr."
1 On Fri, Nov 17, 2017 at 12:30 AM, William L. Thomson Jr.
2 <wlt-ml@××××××.com> wrote:
3 > On Thu, 16 Nov 2017 23:38:09 -0600
4 > R0b0t1 <r030t1@×××××.com> wrote:
5 >>
6 >> Hopefully this is not a tangent, but the OpenJDK release is available
7 >> on Ubuntu. I have tried to understand the IcedTea build process and
8 >> failed, as I was hoping that it could be packaged for Gentoo before
9 >> the official IcedTea release. I was not able to find a timeline from
10 >> the OpenJDK project.
11 >
12 > Gentoo is a from source distro not binary. It will be some time before
13 > icedtea, some version support slot 9 will be available. There is no eta
14 > for icedtea. That comes from directly from RedHat. The person who
15 > makes it for the world does so on Gentoo, for RedHat their employer.
16 >
17
18 I am confused. I was aware that IcedTea was a build system, but I am
19 not aware as to how Ubuntu packaged OpenJDK 9.
20
21 In the context of Gentoo I meant "packaged" as in "created an ebuild
22 for," which is not proper language.
23
24 > I tried for years to get others to make a path for them to be able to
25 > become a dev and work in tree. Rather that work goes into java-overlay
26 > and is proxied to tree by Chewi/James.
27 > https://github.com/gentoo/java-overlay/tree/master/dev-java/icedtea
28 >
29
30 Though I am not a developer, this concerns me in other areas too. Many
31 developers do not produce extremely high quality code, but this
32 concern is cited as exactly the reason for keeping developership
33 exclusive. Projects I feel I should mention include genkernel and
34 crossdev. I had to temporarily give up my personal interests that
35 relied on them and have since begun rewriting them. In the small bit I
36 have done understanding crossdev, it has become apparent to me that
37 the authors did not reference the GCC build system documentation very
38 well. Of course, it may be the case that no one refers to it.
39
40 >> You focus on Oracle's Java?
41 >
42 > Yes, in brief, as the other will always lag. I would be some what
43 > interested in a actual OpenJDK package. That could build with either
44 > oracle or icedtea. Usually for production and business purposes people
45 > want to run Oracle. I do not know many who run icedtea/openjdk. Though
46 > I am sure they are out there. Definitely RedHat customers.
47 >
48
49 I expect the releases to lag, which is why I had been using Oracle's
50 JDK. Can you explain why there is an IcedTea ebuild but not an OpenJDK
51 ebuild?
52
53 > Also icedtea on Gentoo does not have OpenJavaFX. I am not
54 > sure any distro has OpenJavaFX packaged. I am not aware of any ebuilds
55 > ever for that. Probably be me someday if I ever have interest. Which
56 > can bind many to oracle for JavaFX. Which includes myself.
57 >
58
59 OpenJDK now contains an implementation of JavaFX. Debian and Ubuntu
60 have it packaged. For general instructions, see the following:
61
62 http://openjdk.java.net/projects/openjfx/
63 https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX
64
65 Packages:
66
67 https://tracker.debian.org/pkg/openjfx
68 https://packages.ubuntu.com/xenial/openjfx
69
70 I have recently been interested in JavaFX. It is far more user
71 friendly. Many open source applications still target Swing however, to
72 be compatible with old OpenJDK releases.
73
74 > Icedtea really is not a jdk but a build system. On Gentoo only it
75 > becomes the name of the JDK/JRE. It really is just OpenJDK built
76 > without Oracle. Ideally there is oracle, openjdk, and icedtea ebuilds.
77 > You then build openjdk with oracle or icedtea via USE flag.
78 >
79 > Icedtea will always lag from Oracle. There will always be oracle
80 > binaries before others. Yes you can build the source against it, but no
81 > one is working on that. Again Gentoo has what it does because of
82 > RedHat. Really for RedHats own interest, not Gentoo. Gentoo just
83 > benefits.
84 >
85 > It would likely be a considerable effort to have a openjdk that can
86 > build via oracle or icedtea/openjdk binaries. I think exherbo managed
87 > that, I am not sure.
88 >
89
90 My response to this is the same as above: Can you explain why the
91 Gentoo build system is the way it is? If you have any suggestions as
92 to what I should look at to better understand the OpenJDK build system
93 I would very much appreciate them.
94
95 > The lagging may get worse as JDK release is scheduled to speed up
96 > considerably come March. Say hello to Java 18.3....
97 > https://mreinhold.org/blog/forward-faster
98 >
99 >> The Oracle binaries seem to work well for me and I have experienced no
100 >> issues. Notably, Scala works transparently on the Oracle JDK 9. What
101 >> kind of issues are you seeing? The biggest issue I have had is that
102 >> some version tests do not parse "9" the same way as "1.8.0_152".
103 >
104 > There are tons of build issues for Java packages in tree. From not
105 > supporting < 1.6 source/target, The whole modules system. Changes with
106 > class visibility and deprecation of sun.* classes. No tools.jar. Odd
107 > build issues where some packages build fine under 1.8, but generate
108 > errors under 9 that require code fixes.
109 >
110 > A slew of issues that Gentoo already lacks man power to keep some stuff
111 > current. The amount of work is pretty tremendous on top of the state of
112 > the tree.
113 >
114 > Out of some 160 packages I had installed, 48 failed, with some 600+ to
115 > test still. There were more failures before some fixes. I am still
116 > working on fixing those and there are likely a considerable amount
117 > more.
118 >
119 > My overlay is already ahead of the tree in many ways. The tree has to
120 > play additional catchup. The tree itself without my overlay may have may
121 > more issues. I do not know. I am working on replacing all packages in
122 > tree, not running them. I need them kept current.
123 >
124
125 Do you have any recommendations for development policy?
126
127 At a certain point, would it make sense to drop old packages and not
128 bother to update them? I understand this is counter to what usually
129 happens, but if it would help crystalize a better Java release process
130 before the more frequent releases it may be worth it.
131
132 >> Adding Java 9 to the tree would help users who are interested
133 >> experiment with the language.
134 >
135 > The JDK/JRE could go into tree masked for anyone who wants to unmask. I
136 > have been pushing for that for some time, but will only happen when
137 > Chewi/James has time.
138 >
139
140 This seems to have helped with the stabilization of Python 3.5, and
141 Python 3.6 looks like it will go the same direction. Hopefully this
142 will occur for Java 9.
143
144 > JRE is safer than JDK. There will be issues with JDK if set to system
145 > VM and used to build Java packages on Gentoo. The mask should warn
146 > about such, etc.
147 >
148 >> As part of the first work on Python 3.5
149 >> (very minor) I installed it on my system but did not add it to
150 >> PYTHON_TARGETS. Is there an equivalent for Java?
151 >
152 > Heck no, Java is not in my opinion an pain like Ruby and Python. Perl
153 > is not either. In fact if I get time to re-write eclasses. I plan to
154 > move the versions from in ebuilds to eclass. Making 1 place to update
155 > source/target/release of a java package.
156 >
157 > Right now Java is controlled via depends. The DEPEND version sets the
158 > -source, and RDEPEND the -target version. Java 9 has a new -release.
159 > The source/target has long time issue on Gentoo. To trigger you build
160 > with newer and run with older.
161 > https://wiki.gentoo.org/wiki/Java_Developer_Guide#Bootstrap_class_path
162 >
163
164 If I understand correctly, it is possible to install the JDK but not
165 set it to system VM? It is not clear to me why other languages need
166 more Portage machinery to handle coinstallation of different versions.
167
168 Cheers,
169 R0b0t1

Replies

Subject Author
Re: [gentoo-dev] Java 9 on Gentoo "William L. Thomson Jr." <wlt-ml@××××××.com>