Skip to content
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

Unable to run on Linux #168

Closed
HEdingfield opened this issue Sep 16, 2018 · 12 comments
Closed

Unable to run on Linux #168

HEdingfield opened this issue Sep 16, 2018 · 12 comments
Labels
Milestone

Comments

@HEdingfield
Copy link
Contributor

When attempting to debug #160, I was unable to get the tabulator running on my Linux machine.

Couldn't verify because:
$ /usr/local/buildtools/java/jdk10-64/bin$ ./java -jar ~/Downloads/RCV_UniversalTabulator_20180908/RCV_UniversalTabulator_20180908/rcv.jar

Would cause:

Error: Could not find or load main class com.rcv.Main
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application

I initially assumed it was because there's no MANIFEST.MF file in the version @moldover compiled, but I also tried the version I compiled which included a manifest and had the same problem.

@HEdingfield HEdingfield added this to the v 0.9 Cleanup milestone Sep 16, 2018
@nealmcb
Copy link

nealmcb commented Apr 8, 2019

I still see this problem, on Ubuntu 18.04 LTS Bionic:

openjdk 10.0.2 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.4, mixed mode)

And I don't have another system to run it on.
Any luck figuring out what's going on?

@tarheel
Copy link
Contributor

tarheel commented May 3, 2019

Sorry, we haven't had a chance to debug this yet. :/ We'll try to get to it in the not-too-distant future...

@tarheel
Copy link
Contributor

tarheel commented May 5, 2019

@HEdingfield or @nealmcb: could you try the approach I suggested in #239 and see if that fixes it for you?

Specifically: download the JavaFX SDK for Linux, then add command-line args to reference it. Something like this:

java --module-path javafx-sdk-11.0.2/lib --add-modules=javafx.controls,javafx.fxml -jar rcv.jar

I'm not sure if it will make a difference if you're running JRE 11 vs. 10.

I tried testing it myself on a remote Linux machine, but I got a different JavaFX error because I'm just sshing in ("java.lang.UnsupportedOperationException: Unable to open DISPLAY"), and I don't want to deal with setting up VNC or something similar right now.

@tarheel
Copy link
Contributor

tarheel commented May 5, 2019

This rigmarole makes me wonder whether we should start releasing a separate build that's intended only for command-line operation and doesn't have any JavaFX dependencies.

@nealmcb
Copy link

nealmcb commented May 6, 2019

Thank for follwoing up, @tarheel!

I did this on Ubuntu bionic 18.04, where I have OpenJDK 11:

$ sudo apt-get install openjfx
$ java --module-path /usr/share/openjfx/lib --add-modules=javafx.controls,javafx.fxml -jar ../rcv_20190302.jar

and it seems to start.

N.B.: Specifying a nonexistant path for --module-path didn't show any errors and led me astray for a bit. Sigh.

@tarheel
Copy link
Contributor

tarheel commented May 6, 2019

Ah, great. Yeah, I saw your initial comment and was going to tell you to update the path.

So the only remaining question in this thread is why Linux has the JavaFX error under JRE 10. At least in @nealmcb's case, I believe the answer is that you were using OpenJDK 10, and that distribution also omits JavaFX. @HEdingfield: presumably something similar applies to your case?

@HEdingfield
Copy link
Contributor Author

HEdingfield commented May 10, 2019

I propose we circle back on this issue once we resolve #239, because I think that will solve our problems here. To be clear, I mean transitioning the project over to and building it using Gradle.

@tarheel
Copy link
Contributor

tarheel commented May 10, 2019

If what I said in my last comment sounds right (my hypothesis for why it was failing even under JRE 10 for both of you), then yes, I agree -- this and #239 are duplicate issues.

@HEdingfield
Copy link
Contributor Author

TODO: update UserGuide.txt when resolving this issue, because it mentions it directly.

@HEdingfield
Copy link
Contributor Author

Just pulled PR #272 to my Linux machine, built a distZip using Gradle, and was able to get it running using OpenJDK 11!

@tarheel
Copy link
Contributor

tarheel commented Jun 7, 2019

bitmoji

@HEdingfield
Copy link
Contributor Author

PR #272 is now merged. Confirmed that versions built on a Linux system using Gradle's distZip or jlink tasks work on Linux. #57 and #282 focus on figuring out how to do Linux builds on any platform.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants