Closed re-thc closed 3 years ago
I don't have access to an M1 machine to compile the binaries needed.
If you like to help, please build the binaries on a M1 machine and send them to me.
Yes.. I need the library working on M1 mac too. Can you please help? I ready to help you with binaries.. Please let me know. @phxql
Let me know the steps to generate the binaries and what ever you need from M1 mac. @phxql
@hc-codersatlas were you able to solve this?
@cricketsamya no, currently using bouncycastle as a workaround. I originally thought the native libraries were built from Travis, Github Actions or similar. I do see something like this currently committed - is that not able to cross compile it?
@hc-codersatlas There must be a way to do it.. I use Argon2 , recently shifted to M1 mac. For me its difficult switch the library. Cross compiling should be possible. But I need input from @phxql
Sure, here's the documentation: https://github.com/phxql/argon2-jvm/blob/master/docs/compile-argon2.md
@phxql compiled on m1 https://github.com/phxql/argon2-jvm/pull/81
Merged the PR, now we have to wait until JNA releases a new version (JNA PR for M1: https://github.com/java-native-access/jna/pull/1297)
JNA 5.7.0 has been released.
Hey @cricketsamya , could you please run the latest master
from https://github.com/phxql/jna-info on your M1 Mac again and post the output? Thanks!
@phxql Have a look! it returns same output!
➜ jna-info git:(master) git pull
Already up to date.
➜ jna-info git:(master) ./gradlew run
Configure project :
The compile configuration has been deprecated for dependency declaration. This will fail with an error in Gradle 7.0. Please use the implementation configuration instead. Consult the upgrading guide for further information: https://docs.gradle.org/6.8.2/userguide/upgrading_version_5.html#dependencies_should_no_longer_be_declared_using_the_compile_and_runtime_configurations
at build_8tbbvgm48i7x9dgaeqweqbvrq$_run_closure2.doCall(/Users/sam/Developement/workspaces/jna-info/build.gradle:17)
(Run with --stacktrace to get the full stack trace of this deprecation warning.)
Task :run
nativeLibraryResourcePrefix: darwin
Testing JNA... success
BUILD SUCCESSFUL in 1s
2 actionable tasks: 1 executed, 1 up-to-date
➜ jna-info git:(master)
Thanks! Huh, this is very strange. I expected the resource prefix to be something like darwin-aarch64
. The argon2 lib for OSX x64 is stored in darwin
subfolder, i can't put the M1 version in the same folder, as it would overwrite the x64 one. I will open a ticket on the JNA project and ask for clarification.
From the jna ticket:
Darwin uses libraries, that support multiple architectures in a single library. Apple has a strange way to support this, but IMHO that is one of the the few very nice things mac OS has to offer.
Have a look at the libjnidispatch.jnilib file in the jna.jar. It contains the dispatch library for amd64 and aarch64. In the past darwin binaries contained ppc and x86 code, or x86 and x64. The tool you are looking for is lipo - as a final hint, the main build script of JNA holds the necessary commands to merge the native libraries.
It seems that handling darwin
isn't that simple as i thought. I have to look into it, if i find the time. I hope this works without access to a mac.
Thats really sad😥 I hope there is a solution..
If you want to help, there's apparently a tool which can merge the x64 and the m1 version of the darwin library into a single multi-arch library. The JNA developers are using it, and it is called lipo
(?)
Ah, JNA team has reopened my ticket (https://github.com/java-native-access/jna/issues/1313) and they consider adding the architecture into the platform prefix. This would solve our problem without merging the libraries - but i have no idea how long this will take.
https://github.com/java-native-access/jna/issues/1313#issuecomment-780135242
Someone replied on your PR. Please check comments
If you want to help, there's apparently a tool which can merge the x64 and the m1 version of the darwin library into a single multi-arch library. The JNA developers are using it, and it is called
lipo
(?)
I can try but it may take some time. I hope JNA team will help us quickly.
Hey @cricketsamya , could you please run the latest
master
from https://github.com/phxql/jna-info on your M1 Mac again and post the output? Thanks!➜ jna-info git:(master) ./gradlew run Task :compileJava UP-TO-DATE Task :processResources NO-SOURCE Task :classes UP-TO-DATE Task :run JNA version: 5.7.0 Prefix: darwin Arch: aarch64
Testing JNA... success
BUILD SUCCESSFUL in 1s 2 actionable tasks: 1 executed, 1 up-to-date ➜ jna-info git:(master)
May be some success finally!
Hey @cricketsamya , thanks for your tests.
I added the JNA snapshot from the PR (https://github.com/java-native-access/jna/pull/1316) and built a small CLI tool to test it. Could you run this on your M1 machine (with M1 native JVM and a JVM going through rosetta)? And if you have access to a x64 Mac, run it there too? I hope this works now :)
Thanks for your time!
Here's the runner: https://github.com/phxql/argon2-jvm/tree/test/jna-pr-1316/argon2-jvm-runner (it's on the test/jna-pr-1316
branch).
➜ argon2-jvm1 git:(test/jna-pr-1316) java -version
openjdk version "16" 2020-11-11
OpenJDK Runtime Environment Microsoft (build 16+10-20201111)
OpenJDK 64-Bit Server VM Microsoft (build 16+10-20201111, mixed mode)
➜ argon2-jvm1 git:(test/jna-pr-1316) ./gradlew argon2-jvm-runner:run
> Task :argon2-jvm-nolibs:compileJava FAILED
error: Source option 6 is no longer supported. Use 7 or later.
error: Target option 6 is no longer supported. Use 7 or later.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':argon2-jvm-nolibs:compileJava'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 560ms
1 actionable task: 1 executed
➜ argon2-jvm1 git:(test/jna-pr-1316)
@phxql ERROR while building
On Rosetta:
➜ argon2-jvm1 git:(test/jna-pr-1316) java -version
openjdk version "11.0.10" 2021-01-19 LTS
OpenJDK Runtime Environment Zulu11.45+27-CA (build 11.0.10+9-LTS)
OpenJDK 64-Bit Server VM Zulu11.45+27-CA (build 11.0.10+9-LTS, mixed mode)
➜ argon2-jvm1 git:(test/jna-pr-1316) ./gradlew argon2-jvm-runner:run
> Task :argon2-jvm-nolibs:compileJava UP-TO-DATE
> Task :argon2-jvm:compileJava NO-SOURCE
> Task :argon2-jvm:processResources UP-TO-DATE
> Task :argon2-jvm:classes UP-TO-DATE
> Task :argon2-jvm:jar UP-TO-DATE
> Task :argon2-jvm-nolibs:processResources NO-SOURCE
> Task :argon2-jvm-nolibs:classes UP-TO-DATE
> Task :argon2-jvm-nolibs:jar UP-TO-DATE
> Task :argon2-jvm-runner:compileJava UP-TO-DATE
> Task :argon2-jvm-runner:processResources NO-SOURCE
> Task :argon2-jvm-runner:classes UP-TO-DATE
> Task :argon2-jvm-runner:run FAILED
10:16:59.724 [main] INFO de.mkammerer.argon2.runner.Runner - Starting...
10:16:59.725 [main] INFO de.mkammerer.argon2.runner.Runner - System properties:
10:16:59.725 [main] INFO de.mkammerer.argon2.runner.Runner - VM vendor: Azul Systems, Inc.
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - VM version: 11.0.10+9-LTS
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Runtime version: 11.0.10+9-LTS
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Java version: 11.0.10
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system: Mac OS X
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system version: 11.2
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system architecture: aarch64
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Library path: /Users/sameer.kulkarni/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - JNA info:
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Version: 5.8.0-SNAPSHOT
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Resource prefix: darwin-aarch64
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Architecture: aarch64
10:16:59.726 [main] INFO de.mkammerer.argon2.runner.Runner - Creating Argon2 instance
10:16:59.899 [main] INFO de.mkammerer.argon2.runner.Runner - Hashing password...
10:16:59.909 [main] INFO de.mkammerer.argon2.runner.Runner - Wiping confidential data...
Exception in thread "main" 10:16:59.909 [main] INFO de.mkammerer.argon2.runner.Runner - Stopped
java.lang.UnsatisfiedLinkError: dlopen(/Users/sameer.kulkarni/Library/Caches/JNA/temp/jna11967995974991726704.tmp, 9): no suitable image found. Did find:
/Users/sameer.kulkarni/Library/Caches/JNA/temp/jna11967995974991726704.tmp: mach-o, but wrong architecture
/Users/sameer.kulkarni/Library/Caches/JNA/temp/jna11967995974991726704.tmp: mach-o, but wrong architecture
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:277)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:461)
at com.sun.jna.Library$Handler.<init>(Library.java:192)
at com.sun.jna.Native.load(Native.java:596)
at com.sun.jna.Native.load(Native.java:570)
at de.mkammerer.argon2.jna.Argon2Library.<clinit>(Argon2Library.java:13)
at de.mkammerer.argon2.BaseArgon2.hashBytes(BaseArgon2.java:310)
at de.mkammerer.argon2.BaseArgon2.hashBytes(BaseArgon2.java:302)
at de.mkammerer.argon2.BaseArgon2.hash(BaseArgon2.java:74)
at de.mkammerer.argon2.BaseArgon2.hash(BaseArgon2.java:57)
at de.mkammerer.argon2.runner.Runner.testArgon2(Runner.java:69)
at de.mkammerer.argon2.runner.Runner.run(Runner.java:38)
at de.mkammerer.argon2.runner.Runner.main(Runner.java:25)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':argon2-jvm-runner:run'.
> Process 'command '/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
6 actionable tasks: 1 executed, 5 up-to-date
➜ argon2-jvm1 git:(test/jna-pr-1316)
@phxql issue here!
➜ argon2-jvm1 git:(test/jna-pr-1316) java -version openjdk version "16" 2020-11-11 OpenJDK Runtime Environment Microsoft (build 16+10-20201111) OpenJDK 64-Bit Server VM Microsoft (build 16+10-20201111, mixed mode) ➜ argon2-jvm1 git:(test/jna-pr-1316) ./gradlew argon2-jvm-runner:run > Task :argon2-jvm-nolibs:compileJava FAILED error: Source option 6 is no longer supported. Use 7 or later. error: Target option 6 is no longer supported. Use 7 or later. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':argon2-jvm-nolibs:compileJava'. > Compilation failed; see the compiler error output for details. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 560ms 1 actionable task: 1 executed ➜ argon2-jvm1 git:(test/jna-pr-1316)
@phxql ERROR while building
Okay, i've updated it to use Java 11, please try again.
@phxql
➜ argon2-jvm1 git:(test/jna-pr-1316) msjdk16
➜ argon2-jvm1 git:(test/jna-pr-1316) ./gradlew argon2-jvm-runner:run
> Task :argon2-jvm-nolibs:compileJava
Note: /Users/sameer.kulkarni/workspaces/argon2-jvm1/argon2-jvm-nolibs/src/main/java/de/mkammerer/argon2/BaseArgon2.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
> Task :argon2-jvm:compileJava NO-SOURCE
> Task :argon2-jvm:processResources UP-TO-DATE
> Task :argon2-jvm:classes UP-TO-DATE
> Task :argon2-jvm:jar UP-TO-DATE
> Task :argon2-jvm-nolibs:processResources NO-SOURCE
> Task :argon2-jvm-nolibs:classes
> Task :argon2-jvm-nolibs:jar
> Task :argon2-jvm-runner:compileJava
> Task :argon2-jvm-runner:processResources NO-SOURCE
> Task :argon2-jvm-runner:classes
> Task :argon2-jvm-runner:run FAILED
11:53:58.756 [main] INFO de.mkammerer.argon2.runner.Runner - Starting...
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - System properties:
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - VM vendor: jdk-16+10-Microsoft-2020.11.0.15924-ci
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - VM version: 16+10-20201111
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - Runtime version: 16+10-20201111
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - Java version: 16
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system: Mac OS X
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system version: Version 11.2 (Build 20D64)
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system architecture: aarch64
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - Library path: /Users/sameer.kulkarni/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - JNA info:
11:53:58.757 [main] INFO de.mkammerer.argon2.runner.Runner - Version: 5.8.0-SNAPSHOT
11:53:58.758 [main] INFO de.mkammerer.argon2.runner.Runner - Resource prefix: darwin-aarch64
11:53:58.758 [main] INFO de.mkammerer.argon2.runner.Runner - Architecture: aarch64
11:53:58.758 [main] INFO de.mkammerer.argon2.runner.Runner - Creating Argon2 instance
11:53:59.010 [main] INFO de.mkammerer.argon2.runner.Runner - Hashing password...
Exception in thread "main" java.lang.UnsatisfiedLinkError: dlopen(/Users/sameer.kulkarni/Library/Caches/JNA/temp/jna17048461656914046408.tmp, 9): no suitable image found. Did find:
/Users/sameer.kulkarni/Library/Caches/JNA/temp/jna17048461656914046408.tmp: mach-o, but wrong architecture
/Users/sameer.kulkarni/Library/Caches/JNA/temp/jna17048461656914046408.tmp: mach-o, but wrong architecture
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:277)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:461)
11:53:59.021 [main] INFO de.mkammerer.argon2.runner.Runner - Wiping confidential data...
at com.sun.jna.Library$Handler.<init>(Library.java:192)
11:53:59.022 [main] INFO de.mkammerer.argon2.runner.Runner - Stopped
at com.sun.jna.Native.load(Native.java:596)
at com.sun.jna.Native.load(Native.java:570)
at de.mkammerer.argon2.jna.Argon2Library.<clinit>(Argon2Library.java:13)
at de.mkammerer.argon2.BaseArgon2.hashBytes(BaseArgon2.java:310)
at de.mkammerer.argon2.BaseArgon2.hashBytes(BaseArgon2.java:302)
at de.mkammerer.argon2.BaseArgon2.hash(BaseArgon2.java:74)
at de.mkammerer.argon2.BaseArgon2.hash(BaseArgon2.java:57)
at de.mkammerer.argon2.runner.Runner.testArgon2(Runner.java:69)
at de.mkammerer.argon2.runner.Runner.run(Runner.java:38)
at de.mkammerer.argon2.runner.Runner.main(Runner.java:25)
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':argon2-jvm-runner:run'.
> Process 'command '/Library/Java/JavaVirtualMachines/jdk-16+10/Contents/Home/bin/java'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
6 actionable tasks: 4 executed, 2 up-to-date
➜ argon2-jvm1 git:(test/jna-pr-1316)
Okay, it at least seams that it picks up the right library but this library is in the wrong format.
file libargon2.dylib
libargon2.dylib: Mach-O 64-bit x86_64 dynamically linked shared library, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|NO_REEXPORTED_DYLIBS>
this doesn't look right, it should be a aarch64
binary. It's the file from https://github.com/phxql/argon2-jvm/pull/81/files, maybe the rosetta emulation kicked in while building this on the M1 mac and now it's x86-64.
Could you try to recompile this for aarch64?
https://github.com/phxql/argon2-jvm/pull/82
@phxql Please check and rebuild the runner for me.. I will test again..
This is the output after I replaced the library in the branch you passed me to test.. here are the results :
➜ argon2-jvm1 git:(test/jna-pr-1316) ✗ msjdk16
➜ argon2-jvm1 git:(test/jna-pr-1316) ✗ ./gradlew argon2-jvm-runner:run
Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details
> Task :argon2-jvm-nolibs:compileJava
Note: /Users/sameer.kulkarni/workspaces/argon2-jvm1/argon2-jvm-nolibs/src/main/java/de/mkammerer/argon2/BaseArgon2.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
> Task :argon2-jvm:compileJava NO-SOURCE
> Task :argon2-jvm:processResources UP-TO-DATE
> Task :argon2-jvm:classes UP-TO-DATE
> Task :argon2-jvm:jar UP-TO-DATE
> Task :argon2-jvm-nolibs:processResources NO-SOURCE
> Task :argon2-jvm-nolibs:classes
> Task :argon2-jvm-nolibs:jar
> Task :argon2-jvm-runner:compileJava
> Task :argon2-jvm-runner:processResources NO-SOURCE
> Task :argon2-jvm-runner:classes
> Task :argon2-jvm-runner:run
19:31:09.380 [main] INFO de.mkammerer.argon2.runner.Runner - Starting...
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - System properties:
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - VM vendor: jdk-16+10-Microsoft-2020.11.0.15924-ci
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - VM version: 16+10-20201111
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - Runtime version: 16+10-20201111
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - Java version: 16
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system: Mac OS X
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system version: Version 11.2 (Build 20D64)
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system architecture: aarch64
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - Library path: /Users/sameer.kulkarni/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - JNA info:
19:31:09.381 [main] INFO de.mkammerer.argon2.runner.Runner - Version: 5.8.0-SNAPSHOT
19:31:09.382 [main] INFO de.mkammerer.argon2.runner.Runner - Resource prefix: darwin-aarch64
19:31:09.382 [main] INFO de.mkammerer.argon2.runner.Runner - Architecture: aarch64
19:31:09.382 [main] INFO de.mkammerer.argon2.runner.Runner - Creating Argon2 instance
19:31:09.912 [main] INFO de.mkammerer.argon2.runner.Runner - Hashing password...
19:31:10.583 [main] INFO de.mkammerer.argon2.runner.Runner - Hash: $argon2id$v=19$m=65536,t=10,p=1$buK6A+kiZ50lpIXbKpLN7g$AuET9Gk3oRtbOOS6VOKQnGg+PgPSHeDl3djJMq72zYw
19:31:10.583 [main] INFO de.mkammerer.argon2.runner.Runner - Verifying password...
19:31:10.885 [main] INFO de.mkammerer.argon2.runner.Runner - Verification successful!
19:31:10.885 [main] INFO de.mkammerer.argon2.runner.Runner - Wiping confidential data...
19:31:10.885 [main] INFO de.mkammerer.argon2.runner.Runner - Stopped
BUILD SUCCESSFUL in 4s
6 actionable tasks: 4 executed, 2 up-to-date
➜ argon2-jvm1 git:(test/jna-pr-1316) ✗
I think we are good to go! @phxql
Great work, many thanks! I merged the PR into develop, and updated the PR-1316 branch, it should now work out of the box.
Does this stuff works on your M1 mac when using a JVM via rosetta?
➜ argon2-jvm1 git:(test/jna-pr-1316) ✗ ./gradlew argon2-jvm-runner:run
> Task :argon2-jvm-runner:run
09:14:05.991 [main] INFO de.mkammerer.argon2.runner.Runner - Starting...
09:14:05.993 [main] INFO de.mkammerer.argon2.runner.Runner - System properties:
09:14:05.993 [main] INFO de.mkammerer.argon2.runner.Runner - VM vendor: Azul Systems, Inc.
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - VM version: 11.0.8+10-LTS
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - Runtime version: 11.0.8+10-LTS
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - Java version: 11.0.8
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system: Mac OS X
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system version: 10.16
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - Operating system architecture: x86_64
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - Library path: /Users/sameer.kulkarni/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - JNA info:
09:14:05.995 [main] INFO de.mkammerer.argon2.runner.Runner - Version: 5.8.0-SNAPSHOT
09:14:05.999 [main] INFO de.mkammerer.argon2.runner.Runner - Resource prefix: darwin-x86-64
09:14:05.999 [main] INFO de.mkammerer.argon2.runner.Runner - Architecture: x86-64
09:14:05.999 [main] INFO de.mkammerer.argon2.runner.Runner - Creating Argon2 instance
09:14:06.528 [main] INFO de.mkammerer.argon2.runner.Runner - Hashing password...
09:14:07.308 [main] INFO de.mkammerer.argon2.runner.Runner - Hash: $argon2id$v=19$m=65536,t=10,p=1$d02vpuF5wCI6WUwK5BuKow$0Zy1zOChJJzTvfwxN1a82hK5oGvoneifvFXb7JTX/nE
09:14:07.308 [main] INFO de.mkammerer.argon2.runner.Runner - Verifying password...
09:14:07.827 [main] INFO de.mkammerer.argon2.runner.Runner - Verification successful!
09:14:07.827 [main] INFO de.mkammerer.argon2.runner.Runner - Wiping confidential data...
09:14:07.827 [main] INFO de.mkammerer.argon2.runner.Runner - Stopped
BUILD SUCCESSFUL in 6s
6 actionable tasks: 1 executed, 5 up-to-date
➜ argon2-jvm1 git:(test/jna-pr-1316) ✗
@phxql Sorry I forgot to add the test result! 😄
Yeah, great work!
Then i guess we just have to wait for a new JNA release and we're ready to go on the M1!
As soon as JNA releases a new version with the changes, i will release a new argon2-jvm version.
Thanks a ton for your support!
@phxql
I am not sure, why my code is not working with the snapshot.
This is stack trace during startup.
Yeah, great work!
Then i guess we just have to wait for a new JNA release and we're ready to go on the M1!
As soon as JNA releases a new version with the changes, i will release a new argon2-jvm version.
Thanks a ton for your support!
@phxql Thanks to you and your quick resolution.
@phxql
I am not sure, why my code is not working with the snapshot.
![]()
This is stack trace during startup.
![]()
I guess you are still using the old (non-patched) JNA version, which is looking for universal binaries in darwin
. I used the patched one, see here: https://github.com/phxql/argon2-jvm/blob/test/jna-pr-1316/argon2-jvm-runner/build.gradle#L15
@phxql I am not sure, why my code is not working with the snapshot.
![]()
This is stack trace during startup.
![]()
I guess you are still using the old (non-patched) JNA version, which is looking for universal binaries in
darwin
. I used the patched one, see here: https://github.com/phxql/argon2-jvm/blob/test/jna-pr-1316/argon2-jvm-runner/build.gradle#L15
I missed that! Thanks! @phxql
It seems It seems the fix was already released for JNA on February 8th in 5.7.0. When will a new version of argon2-jvm be released? https://github.com/java-native-access/jna/pull/1297/commits/2be4198489d26400a40bda337ca2fccd6982a42c
This PR in JNA (https://github.com/java-native-access/jna/pull/1316) was merged on 26 Feb. JNA 5.7.0 was released on 8 Feb. I don't get how this can be included?
But it seems the changes are included in 5.8.0 - i will release a new version soon!
Just released 2.10.1, which uses JNA 5.8.0 - M1 should now work out of the box. Please give it some time to propagate to Maven central.
This PR in JNA (java-native-access/jna#1316) was merged on 26 Feb. JNA 5.7.0 was released on 8 Feb. I don't get how this can be included?
Ah I was ending up at this commit https://github.com/java-native-access/jna/commit/2be4198489d26400a40bda337ca2fccd6982a42c for Darwin arm64 support which landed in 5.7.0. But it seems more was needed, sorry for the confusion.
Thanks for the release! 🎉❤️
@phxql finally! Thanks! Great work!
I somehow missed the JNA 5.8.0 release, sorry for the delay and thanks for the ping, @jurmous.
Hi, please add binaries to support Mac M1, i.e. Darwin aarch64.
Thank you.