[JAVA-4517] Unable to use client side field level encryption on apple M1 chip Created: 06/Mar/22  Updated: 04/May/22  Resolved: 22/Mar/22

Status: Closed
Project: Java Driver
Component/s: Client Side Encryption
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Mohsen Gaeini Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: external-user
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on MONGOCRYPT-372 Package Apple M1 support as Universal... Closed
Duplicate
duplicates JAVA-4445 Update Java bindings for client side ... Closed

 Description   

Hi,

When using mongodb CSFLE using java driver, the class 

com.mongodb.client.vault.ClientEncryption

fails to instantiate with the following error:

 
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.mongodb.crypt.capi.CAPI
        at com.mongodb.crypt.capi.MongoCryptImpl.<init>(MongoCryptImpl.java:98) ~[mongodb-crypt-1.3.0.jar:?]
        at com.mongodb.crypt.capi.MongoCrypts.create(MongoCrypts.java:36) ~[mongodb-crypt-1.3.0.jar:?]
        at com.mongodb.client.internal.Crypts.create(Crypts.java:45) ~[mongodb-driver-sync-4.1.2.jar:?]
        at com.mongodb.client.internal.ClientEncryptionImpl.<init>(ClientEncryptionImpl.java:40) ~[mongodb-driver-sync-4.1.2.jar:?]
        at com.mongodb.client.vault.ClientEncryptions.create(ClientEncryptions.java:36) ~[mongodb-driver-sync-4.1.2.jar:?]

 

The issue only happens on Apple M1. 

 



 Comments   
Comment by Jeffrey Yemin [ 22/Mar/22 ]

Just realized this duplicates JAVA-4445. Please watch that issue for further updates.

Comment by Jeffrey Yemin [ 18/Mar/22 ]

For mongodb-crypt all we need to do is to download the tgz file from macos instead of macos_x86_64 in build.gradle.kts

Generated at Thu Feb 08 09:02:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.