Skip to content

Conversation

@ausbin
Copy link
Contributor

@ausbin ausbin commented Sep 2, 2023

I wrote a long comment in the diff explaining how this works.

The main downside for this is that we write the native libraries to the same directory as the jar (especially considering running multiple copies of CircuitSim).

Hopefully we can use this as a starting point. Right now I don't like the idea of dumping a bunch of .dylibs on a poor M1 student's desktop, even if it does make CircuitSim run without strange third-party java builds

@ausbin
Copy link
Contributor Author

ausbin commented Sep 3, 2023

Scoured the JavaFX source and uploaded a new revision that puts the libraries in a temporary directory

@brandonvu99
Copy link

Agreed 👍

ausbin added a commit to gt-cs2110/CircuitSim that referenced this pull request Sep 3, 2023
See ra4king#93

(cherry picked from commit 8c8a5e5)
(cherry picked from commit a55de2f)
(cherry picked from commit fe3ed3e)
ausbin added a commit to gt-cs2110/CircuitSim that referenced this pull request Sep 3, 2023
See ra4king#93

(cherry picked from commit 8c8a5e5)
(cherry picked from commit a55de2f)
(cherry picked from commit fe3ed3e)
@ausbin
Copy link
Contributor Author

ausbin commented Sep 4, 2023

Tested with the following systems:

  • Headless Ubuntu 20.04 aarch64
  • Debian bookworm x86_64
  • Windows x86_64
  • macOS x86_64. This revealed the problem fixed by e2a9bee
  • macOS aarch64

Merged this into the 2110 fork and released our own 1.9.2b release. Releasing it to students soon, we'll see how it goes!

@ausbin
Copy link
Contributor Author

ausbin commented Sep 9, 2023

Pushed up a couple of tweaks we're deploying in the 2110 fork and autograders:

  1. Don't dump the full stack trace when we can't delete the temporary directory for some reason. This was getting thrown for every invocation on Windows and looked scary when running autograders
  2. Simply turn off all the tricks in this PR for Windows. This means macOS/Linux users get the benefit of amd64+aarch64 support, but Windows users don't have their disks silently filled up with .dlls. More details in code comments

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants