ra4king / CircuitSim

Basic Circuit Simulator
https://ra4king.github.io/CircuitSim
BSD 3-Clause "New" or "Revised" License
76 stars 27 forks source link

CircuitSim fat jar is missing native libraries for platforms other than build platform #91

Closed ausbin closed 1 year ago

ausbin commented 1 year ago

Hi Roi,

We have found out that the fat jars built by CircuitSim do not support all platforms. They may be missing .class files or native libraries (.sos, .dlls, .dylibs) for a particular platform. Example of a diff from the files included in a jar I built locally versus one that appears to be built by a TA with a Mac:

jar-contents.diff

Another example would be in the Roi-provided builds:

$ curl -LO https://www.roiatalla.com/public/CircuitSim/Jar/CircuitSim1.9.1.jar
$ unzip -l CircuitSim1.9.1.jar  | grep -Ec '\.(dylib|so)'
0
$ unzip -l CircuitSim1.9.1.jar  | grep -Ec '\.dll'
54

I believe this is simply because e.g. the classes and .dlls for Windows don't exist on my Linux machine when I do a build. Do you have any ideas for working around this? Only idea I had was building a .jar on macOS, Windows, and Linux, and then merging the resulting jars. But I feel sadistic asking a TA to do that

ra4king commented 1 year ago

Fixed with 953c42d8500600da4fca865de302d337a332002a. I updated v1.9.1 in place.