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

fix(aarch64): update and added to pom.xml aarch64 build #273

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jesusvallez
Copy link

fix this issue: #263

@XorTroll
Copy link
Owner

XorTroll commented Aug 5, 2024

I've been very careful with JavaFX versioning, does this version still support Java 8 appropriately?
Not all users use Java 9 or higher

@jesusvallez
Copy link
Author

jesusvallez commented Aug 5, 2024

I tried to downgrade javafx to 17.X (It is the first version compatible with aarch64) and it does not work with java8. Here is my trace...

$ java -version
openjdk version "1.8.0_422"
OpenJDK Runtime Environment (Zulu 8.80.0.17-CA-macos-aarch64) (build 1.8.0_422-b05)
OpenJDK 64-Bit Server VM (Zulu 8.80.0.17-CA-macos-aarch64) (build 25.422-b05, mixed mode)
$ make emuiigen
[MVNVM] Using maven: 3.9.8
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------< com.xortroll.emuiibo.emuiigen:emuiigen >---------------
[INFO] Building emuiigen 1.1.1
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[WARNING] 6 problems were encountered while building the effective model for org.openjfx:javafx-controls:jar:linux:17.0.9
[INFO]
[INFO] --- resources:3.3.1:resources (default-resources) @ emuiigen ---
[INFO] Copying 4 resources from res to target/classes
[INFO] The encoding used to copy filtered properties files have not been set. This means that the same encoding will be used to copy filtered properties files as when copying other filtered resources. This might not be what you want! Run your build with --debug to see which files might be affected. Read more at https://maven.apache.org/plugins/maven-resources-plugin/examples/filtering-properties-files.html
[INFO]
[INFO] --- compiler:3.13.0:compile (default-compile) @ emuiigen ---
[INFO] Nothing to compile - all classes are up to date.
[INFO]
[INFO] --- kotlin:1.7.10:compile (compile) @ emuiigen ---
[WARNING] Using experimental Kotlin incremental compilation
[INFO] Non-incremental compilation will be performed: NO_BUILD_HISTORY
[INFO] Non-incremental compilation will be performed: NO_BUILD_HISTORY
[INFO] Kotlin compile iteration: /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/AmiiboAPI.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/AmiiboAPIEntry.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/AmiiboAreaEntry.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/AmiiboAreaInfo.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/AmiiboDate.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/AmiiboId.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/AmiiboStatus.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Main.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Utils.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/ui/MainApplication.kt, /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/ui/MainController.kt
[INFO] Exit code: OK
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (12, 163) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (17, 28) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (20, 25) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (38, 46) 'toString(InputStream!): String!' is deprecated. Deprecated in Java
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (49, 40) 'toString(InputStream!): String!' is deprecated. Deprecated in Java
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (83, 106) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (93, 5) Expected performance impact from inlining is insignificant. Inlining works best for functions with parameters of functional types
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (122, 35) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (122, 40) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (123, 32) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Amiibo.kt: (123, 37) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/AmiiboAPI.kt: (63, 49) 'toString(InputStream!): String!' is deprecated. Deprecated in Java
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/Utils.kt: (28, 28) 'toString(URL!): String!' is deprecated. Deprecated in Java
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/ui/MainController.kt: (111, 5) Expected performance impact from inlining is insignificant. Inlining works best for functions with parameters of functional types
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/ui/MainController.kt: (115, 5) Expected performance impact from inlining is insignificant. Inlining works best for functions with parameters of functional types
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/ui/MainController.kt: (119, 5) Expected performance impact from inlining is insignificant. Inlining works best for functions with parameters of functional types
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/ui/MainController.kt: (230, 27) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[WARNING] /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/ui/MainController.kt: (232, 94) This declaration needs opt-in. Its usage should be marked with '@kotlin.ExperimentalUnsignedTypes' or '@OptIn(kotlin.ExperimentalUnsignedTypes::class)'
[INFO] Compiled 12 Kotlin files using incremental compiler
[INFO]
[INFO] --- resources:3.3.1:testResources (default-testResources) @ emuiigen ---
[INFO] skip non existing resourceDirectory /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/src/test/resources
[INFO]
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ emuiigen ---
[INFO] No sources to compile
[INFO]
[INFO] --- surefire:3.2.5:test (default-test) @ emuiigen ---
[INFO] No tests to run.
[INFO]
[INFO] --- assembly:3.1.0:single (make-assembly) @ emuiigen ---
[WARNING]  Parameter 'finalName' is read-only, must not be used in configuration
[WARNING] Failed to build parent project for org.openjfx:javafx-controls:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-controls:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-graphics:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-graphics:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-base:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-base:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-controls:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-controls:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-fxml:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-fxml:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-controls:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-fxml:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-fxml:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-graphics:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-graphics:jar:17.0.9
[WARNING] Failed to build parent project for org.openjfx:javafx-graphics:jar:17.0.9
[INFO] Building jar: /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/target/emuiigen.jar
[WARNING] Configuration option 'appendAssemblyId' is set to false.
Instead of attaching the assembly file: /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/target/emuiigen.jar, it will become the file for main project artifact.
NOTE: If multiple descriptors or descriptor-formats are provided for this project, the value of this file will be non-deterministic!
[WARNING] Replacing pre-existing project main-artifact file: /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/target/classes
with assembly file: /Users/Jesus/Downloads/xortroll-emuiibo/emuiigen/target/emuiigen.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.112 s
[INFO] Finished at: 2024-08-05T21:09:14+02:00
[INFO] ------------------------------------------------------------------------
$ java -jar emuiigen/target/emuiigen.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: javafx/application/Application has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
	at com.xortroll.emuiibo.emuiigen.MainKt.main(Main.kt:6)

Java8 is directly incompatible with mac aarch64
Also, if it is possible to upload a separate artifact only for the aarch64 machines...

Anyway, maybe it could be a good idea to try to replace the pom file with these changes in the makefile if the user wants to compile this script locally and run it :) but this should be your decision, obviously.

At least, if this proposal is not a good idea it could be good to document these changes to make it manually

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