I tried running TypeDB on my M1 MacBook using
./typedb server, but it results in the following error:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/5v/95_mbj013y93vsmc8xps0stm0000gp/T/librocksdbjni8182124459810412816.jnilib
This error looks like it might occur when running a Java program with an incompatible JDK. What can I do to resolve it?
If the running JDK targets
aarch64 (ARM), the architecture used by an M1 Mac, then an
UnsatisfiedLinkError is thrown at startup. There is no native ARM build of TypeDB yet, so in order for TypeDB to run correctly on an M1 MacBook you need to ensure that a JDK that targets
x64 architecture is installed.
For example, to install Eclipse Temurin (based upon OpenJDK):
- Visit https://adoptium.net/en-GB/temurin/releases/?version=11 to browse Temurin releases
- Select the
.pkg distribution of
JDK 11 with operating system
MacOS and architecture
- Download and install the Java binary displayed in the list below
- Verify that Java was installed correctly by running
java --version; the output should match the downloaded JDK version
Please note that this method relies on MacOS’s Rosetta translation, which will inflict a performance overhead on the application.