quarkus-quickstarts
quarkus-quickstarts copied to clipboard
Problems starting Kafka Streams on Apple Silicon
Hi, looks like a native Library is not working properly. I am new to Quarkus so this might be an issue from my side could you help me out
Feb 12, 2021 11:48:00 AM io.quarkus.runtime.ApplicationLifecycleManager run ERROR: Failed to start application (with profile dev) java.lang.UnsatisfiedLinkError: /private/var/folders/sd/mzznz6xd4ks29yw9m4mw00sm0000gn/T/librocksdbjni3919515651897363100.jnilib: dlopen(/private/var/folders/sd/mzznz6xd4ks29yw9m4mw00sm0000gn/T/librocksdbjni3919515651897363100.jnilib, 1): no suitable image found. Did find: /private/var/folders/sd/mzznz6xd4ks29yw9m4mw00sm0000gn/T/librocksdbjni3919515651897363100.jnilib: mach-o, but wrong architecture /private/var/folders/sd/mzznz6xd4ks29yw9m4mw00sm0000gn/T/librocksdbjni3919515651897363100.jnilib: mach-o, but wrong architecture at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227) at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169) at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2383) at java.base/java.lang.Runtime.load0(Runtime.java:746) at java.base/java.lang.System.load(System.java:1857) at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:78) at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:56) at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64) at org.rocksdb.RocksDB.<clinit>(RocksDB.java:35) at io.quarkus.kafka.streams.runtime.KafkaStreamsRecorder.loadRocksDb(KafkaStreamsRecorder.java:14) at io.quarkus.deployment.steps.KafkaStreamsProcessor$loadRocksDb-1611413226.deploy_0(KafkaStreamsProcessor$loadRocksDb-1611413226.zig:67) at io.quarkus.deployment.steps.KafkaStreamsProcessor$loadRocksDb-1611413226.deploy(KafkaStreamsProcessor$loadRocksDb-1611413226.zig:40) at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:411) at io.quarkus.runtime.Application.start(Application.java:90) at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:97) at io.quarkus.runtime.Quarkus.run(Quarkus.java:66) at io.quarkus.runtime.Quarkus.run(Quarkus.java:42) at io.quarkus.runtime.Quarkus.run(Quarkus.java:119) at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at io.quarkus.runner.bootstrap.StartupActionImpl$3.run(StartupActionImpl.java:134) at java.base/java.lang.Thread.run(Thread.java:831)
That's related to Kafka Streams. It depends on a native library not available on Silicon (at least with the version we ship).
CC @gunnarmorling
Yeah, probably not much we can do about that ourselves. There is Aarch64 support for RocksDB: https://github.com/facebook/rocksdb/issues/5559. But I'm not sure whether
- that works with macOS
- the RocksDB JNI bindings support it
I suppose that not yet, at this point.
Any progress on that the last year?
@danielpetisme any chance you could have a look at this one and check if something can be done?
Unfortunately is related to the RocksDB project itself... The issue is in progress https://github.com/facebook/rocksdb/issues/7720
The issue is now closed ☺️
Hi. Issue seems to be closed, so do we have any progress on this?