Libmongocrypt installation in amazon linux 2 fails to load from java driver

Hi,
We are using amazon linux 2 to run a java micronaut app and use CSFLE. The driver fails to load libmongocrypt with the following error. I tried installation using both yum and manually.

16:15:49.125 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_status_create’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_status_destroy’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_status_get_error’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_status_get_explanation’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_status_get_code’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_lib_create’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_lib_destroy’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_query_analyzer_create’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_query_analyzer_destroy’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_analyze_query’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.127 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_get_version’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.128 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_get_version_str’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.128 [virtual-executor67] ERROR org.mongodb.driver.crypt - Missing required symbol ‘mongo_crypt_v1_bson_free’ from CSFLE dynamic library [/usr/lib64/libmongocrypt.so]
16:15:49.130 [virtual-executor67] ERROR org.mongodb.driver.crypt - One or more required symbols are missing from CSFLE dynamic library [/usr/lib64/libmongocrypt.so], so this dynamic library will not be used.

1 Like

We had this problem… I suspect you made the same mistake.

MongoDB’s documentation is not totally clear on all of this; but, you are likely trying to libmongocrypt mistakenly. You should be looking at Crypt Shared on the Enterprise Releases page:

MongoDB Enterprise Downloads | MongoDB

They are different. The Crypt Shared library has all of the symbols your application is trying to hit. So for anyone else who hits this error, you in fact are probably using the wrong library.