Skip to content

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

Open
jesusvallez wants to merge 1 commit into
XorTroll:masterfrom
jesusvallez:master
Open

fix(aarch64): update and added to pom.xml aarch64 build#273
jesusvallez wants to merge 1 commit into
XorTroll:masterfrom
jesusvallez:master

Conversation

@jesusvallez

Copy link
Copy Markdown

fix this issue: #263

@XorTroll

XorTroll commented Aug 5, 2024

Copy link
Copy Markdown
Owner

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

jesusvallez commented Aug 5, 2024

Copy link
Copy Markdown
Author

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