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

Create Linux binary #2

Closed
petebankhead opened this issue Oct 5, 2016 · 3 comments
Closed

Create Linux binary #2

petebankhead opened this issue Oct 5, 2016 · 3 comments

Comments

@petebankhead
Copy link
Member

QuPath should (i.e. has in the past) compile fine under Linux, with the required native libraries.

However, no distribution for Linux is available under Releases yet.

This should happen, but requires gaining access to a suitable Linux machine soon to arrange and test it...

@petebankhead petebankhead added this to the v0.1 milestone Oct 5, 2016
@petebankhead petebankhead self-assigned this Oct 5, 2016
@petebankhead petebankhead removed this from the v0.1 milestone Oct 5, 2016
@petebankhead petebankhead added this to the v0.1 milestone Nov 6, 2016
@petebankhead
Copy link
Member Author

Linux binaries are only available for the very first release (v0.0.1).

There hasn't yet been any audible demand for updated binaries... but they should at least be provided for v0.1.

Ideally these would use OpenJDK and OpenJFX... although so far it has proven easier to create them using Oracle's JDK.

Any Linux users who would like to see Linux binaries are invited to comment here...

@petebankhead
Copy link
Member Author

Eventually I managed to create a new Linux download for v0.0.6 using OpenJDK and OpenJFX.

Still, two troubles remain: one minor, one major.

The minor trouble is that (at least on Ubuntu 16.04) the build process is not entirely seamless, and jfxrt.jar needs to be manually copied into the distribution at the end (perhaps because it's not included in OpenJDK, but rather only a symbolic link is made with installing openjfx with Synaptic?).

The major trouble is that OpenSlide continues not to be distributed in a ready-to-run fashion (as mentioned here). Indeed, I'm not sure if it will work on anyone's machine other than the one I was using.

It is likely clear that my Linux use and experience is limited. The suggestions of someone who is more familiar with this would be very welcome. I think one of the following is required:

  • Inclusion of OpenSlide and all its dependencies, precompiled (in the same way as QuPath provides for Windows and macOS), or
  • A method of ensuring the Java library path in the packaged version of QuPath includes all the places that would be required to find a local installation of OpenSlide

In the second case, the user would still be asked to download and install it... but if this step goes smoothly, it can be expected to work.

I plan to investigate this more in the future, but it may take some time...

@petebankhead
Copy link
Member Author

This situation is hopefully much improved in v0.0.7.

OpenSlide and OpenCV were both recompiled, and I attempted to ensure all non-standard, required dependencies are now included - with an appropriate rpath setting so that they may find one another.

Most of the steps taken are documented under the 'Maven' directory.

The Linux version 0.0.7 was created using Ubuntu 16.04 running through VirtualBox on an iMac. I also tested the compiled QuPath on a clean installation of Fedora 25, also through VirtualBox. Both were able to run QuPath, including commands depending on OpenSlide and OpenCV - although things did run a bit more smoothly on Ubuntu (e.g. the Brush tool misbehaved on Fedora).

Additionally, the Linux version is created using OpenJDK and OpenJFX - as opposed to the Oracle JDK used for Windows and Mac.

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

No branches or pull requests

1 participant