Re: Compatibility issue of Okapi plugin (java11) and OmegaT's JRE (java8)

70 views
Skip to first unread message

Manuel Souto Pico

unread,
Jun 20, 2022, 3:13:40 PM6/20/22
to okapi-users, Mailing list for OmegaT developers.
Dear Okapi developers,

[I was trying to send the email below to the Okapi developers discussion list, somehow thinking that I was subscribed to it, but I'm not. Could someone forward my email to that list, if appropriate? Thanks.]

We seem to have a compatibility problem between the "Okapi plugin for OmegaT" and OmegaT itself.

As you may know, on the one hand, OmegaT provides installers that bundle JRE so that the user doesn't need to install Java separately or rely on pre-installed Java in their machine. The version used in that bundled JRE is Java 8.

Users can also download an installer without JRE and install Java on their own but according to download stats the option with JRE is by far the most preferred one. It is also far more convenient for support teams that manage the installation of OmegaT across a large number of users in large projects.

As far as I understand, there are some remaining issues that seem to be blocking bundling JRE with Java 11 in OmegaT installers. I think this thread in the OmegaT devs list covers that: https://sourceforge.net/p/omegat/mailman/omegat-development/thread/F7A5B5EC-EB8E-4A10-8C42-5092415B710D%40traduction-libre.org/#msg37405056

That was fine until recently, however Okapi (core) has now dropped support for Java 8 after release of version 1.43.0. Since the Okapi plugin is just a wrapper for the Okapi filters, that means that the latest version of the Okapi plugin (okapiFiltersForOmegaT-1.12-1.44.0) can only be used if OmegaT is run using Java 11 (which is not the case for the OmegaT version with JRE).

This is a concern, since the Okapi plugin after 1.43 release not only becomes useless if users run OmegaT with bundled JRE, but also it actually breaks OmegaT's correct execution, see error: https://pastebin.com/pW3JvYAg. That's when I run it on the command line. If I use my system's launcher, then OmegaT doesn't launch at all.

At this point, my question is: Is there a chance that the Okapi dev team reconsiders dropping support for Java8 and continues allowing Okapi (core) to be built with Java8 as well yet for some time (at least until the problems on OmegaT's side are resolved and they can bundle JRE with Java 11)?

According to https://endoflife.date/java, support for Java 8 (LTS) ends on 30 Sep 2023 and according to https://access.redhat.com/articles/1299013 support for OpenJDK 8 ends on May 2026. Many distributors of OpenJDK plan to support Java 8 until 2027...

In a nutshell: plugins for OmegaT should support Java 8 and therefore, ideally, the OmegaT plugin should keep being built with Java 1.8 until OmegaT can move on to a higher Java version. Would this be possible?

Thanks a lot in advance. I hope we can find a solution and let me know whether there's anything I can do to help.

In the intent to be helpful.
Cheers, Manuel

Chase Tingley

unread,
Jun 20, 2022, 7:18:01 PM6/20/22
to Manuel Souto Pico, Mailing list for OmegaT developers., okapi-users
Forwarded to the dev list.

--
You received this message because you are subscribed to the Google Groups "okapi-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to okapi-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/okapi-users/CABm46bYcniKsSTo06Ati7q%2BjdzK1D-NYz_pRqHQij4ovkShGnQ%40mail.gmail.com.

jimbo

unread,
Jun 23, 2022, 9:51:34 AM6/23/22
to Manuel Souto Pico, okapi-users, Mailing list for OmegaT developers.

Manuel,

The main reason for dropping Java 8 was for security concerns. Several of our libraries used in Okapi no longer supported Java 8 - which means we were not getting security updates or bug fixes/enhancements for those libraries.

Unfortunately we don't have the bandwidth to support multiple versions of Okapi (currently we support 11 and 17).

However, I don't think we are using any specific Java 11 features (yet) - so its possible Okapi could still be built using Java 8. If you could build your own binaries that could solve your problem in the short term.

cheers,

Jim

Mihai Nita

unread,
Jun 23, 2022, 5:34:20 PM6/23/22
to jimbo, Manuel Souto Pico, okapi-users, Mailing list for OmegaT developers.
I will also add my take on this (personal opinion, not the group position)

Not only that JDK 8 is "dying", but many of the libraries we depend on started to drop support for JDK 8.
That means security (Jim's answer).
But it also means we can't support newer MacOS devices (using the M1) chipsets.
The SWT toolkit dropped JDK 8 support a while ago.

Going through the whole OmegaT thread you linked to they say "we’re bundling Eclipse Temurin 8"
And the link to that JDK shows macOS 12 (x64) and macOS 11 and 12 (Apple Silicon) as unsupported.
So even that is becoming more of a problem. 

The OmegaT thread seems to point towards and update to Java 11 also:

> I guess we might as well go for it. Once we’re at 100% support for Java 11 then we can start requiring it. What’s remaining now? Just moving to Jackson for JSON paring, right?

> Yes, It is right for code, but not all. There may be several non-code
> tasks for the migration;
> Test configuration on Azure Pipelines, readme, manual, and Web page content.

Some issues with a script. But the author says: 
> I don't think that compatibility with user-developed scripts
> (especially mine) should be a real concern for the dev team.

And the thread ends with
>    The date issue only matters to the development team if any of the
> scripts or plugins provided in the official distribution handle dates
> and stop working on Java 11 after Java 8 support is dropped.

>    If there are none, the development team could move full steam ahead
> with Java 11 (and eventually later, I suppose).

So to me it looks like OmegaT plans to go to 11, not to stay on 8.
I don't think there is any plan to stay with 8 for the next X years, until jdk 8 is "all dead", not "mostly dead"
(see here for the difference: https://www.youtube.com/watch?v=xbE8E1ez97M ;-)

Coordinating the timing better would have been nice... sorry.

We should maybe reach out to OmegaT to see if there is any update.
That thread is already 6 months old.

If not, as Jim said, we should still be able to build with 8 for 1-2 OmegaT releases, until we all get to 11.

Thank you,
Mihai


Mihai Nita

unread,
Jun 23, 2022, 5:49:29 PM6/23/22
to jimbo, Manuel Souto Pico, okapi-users, Mailing list for OmegaT developers.
In fact, the whole OmegaT thread starts with JGit having some bugs, and an update would require JDK 11, because JGit dropped support for 11.
The options are to update to 11, backport the fix in a fork, loose functionality, or leave with the bugs.

So it is basically the same problem we have (libraries we depend on)

Except for updating, none of these are really tenable in the longer run, with the tens of libraries that Okapi depends on.
Looks like the way forward is 11 for us and for OmegaT, not going back to 8

Cheers,
Mihai

Mihai Nita

unread,
Jun 23, 2022, 5:51:32 PM6/23/22
to jimbo, Manuel Souto Pico, okapi-users, Mailing list for OmegaT developers.
Oups, too soon, fixes:

    "JGit dropped support for 11."
should be
    "JGit dropped support for 8."

    "or leave with the bugs."
should be
    "or live with the bugs."

Mihai

Manuel Souto Pico

unread,
Jun 27, 2022, 11:59:24 AM6/27/22
to Mihai Nita, Group: okapi-devel, jimbo, okapi-users, Mailing list for OmegaT developers.
Thank you Mihai and Jim for your two cents.

The OmegaT dev list is in CC.

Certainly OmegaT team plans to move to Java 11, but the fact is that they cannot do so for the time being, due to unresolved issues and lack of capacity to solve them (some Okapi developer could perhaps give a hand?). We don't know when that upgrade will happen.

In the meantime, Okapi has dropped support for Java 8 unilaterally, for valid reasons but going forward, in the interest of users, it would be nice indeed if the two teams could coordinate so as to somehow negotiate Java versions or the timing, etc. to avoid or mitigate this kind of compatibility issues. Thumbs up to that! I'm on both lists, let me know if I can be of any help (I'm not a Java developer, though).

> it's possible Okapi could still be built using Java 8.
> If you could build your own binaries that could solve your problem in the short term.

If I got it right, you (Mihai) seem to deny that possibility in your second email, due to the JGit bugs. If that was actually possible, it would be an acceptable short-term solution for me and the users we give support to in my team. However I had already tried to build version 1.12-1.44.0 with Java 8 and I got stuck with some errors...

In any case, thinking of users at large, perhaps an official announcement in the Okapi users list would be nice explaining the new requirements for users of the Okapi plugin for OmegaT (e.g. switch to OmegaT without JRE and install Java 11 by themselves?) and/or (if applicable) explaining how to build Okapi using Java 8 (the info that I'd need now).

In the intent to be useful,
Cheers, Manuel

Mihai Nita

unread,
Jun 28, 2022, 2:21:32 AM6/28/22
to Manuel Souto Pico, Group: okapi-devel, jimbo, okapi-users, Mailing list for OmegaT developers.
Sorry for the misunderstanding.
The JGit problem is in OmegaT
I was trying to show that they are under the same pressure to move to jdk 11. But all I managed was to confuse things.

Some direct discussion with some one in the OmegaT team might help.
I don't think anyone in the Okapi team knows what is blocking the OmegaT migration to jdk 11. As such, I don't think anyone can confidently say that using the jdk-less OmegaT+ jdk 11 works or not.



Mihai

Manuel Souto Pico

unread,
Jun 28, 2022, 4:05:34 AM6/28/22
to Mihai Nita, Group: okapi-devel, jimbo, okapi-users, Mailing list for OmegaT developers.
Thanks, Mihai.

I'm beginning to see more clearly.

The solution to the JGit problem in OmegaT was identified some months ago: updating JGit to 6.0.0 with apache ssh and support ssh agent. That requires migration to Java 11, which seems to be planned to happen after the next major release.

Cheers, Manuel


Mihai Nita

unread,
Jun 28, 2022, 9:25:47 PM6/28/22
to Manuel Souto Pico, Group: okapi-devel, jimbo, okapi-users, Mailing list for OmegaT developers.
> That requires migration to Java 11, which seems to be planned to happen after the next major release.

Thanks. That was what I was trying to say :-)

Do you have any information about when that major release might happen?
An estimate.

Mihai

Manuel Souto Pico

unread,
Jun 29, 2022, 9:06:27 AM6/29/22
to Mihai Nita, Group: okapi-devel, Mailing list for OmegaT developers., jimbo, okapi-users
Hi Mihai,

I would love to, but the truth is I don’t know. 

Cheers, Manuel
Reply all
Reply to author
Forward
0 new messages