I’m now trying to run a go application which uses mongodb/mongo-go-driver for automatic encryption when connecting to an atlas cluster (M10, version 6.0.4).
The binary compiles successfully with libmongocrypt, and is running in amd64/debian:bullseye docker container.
I have placed the .so file described here into the docker container, and provided the path to the file to the Go application (cryptSharedLibPath)
When I set cryptSharedLibRequired=true, I get the following error:
connect error for encrypted client: AutoEncryption extra option \"cryptSharedLibRequired\" is true, but we failed to load the crypt_shared library. If I set cryptSharedLibRequired=false, then the first insert fails with errors relating to fields not being encrypted.
I have tried using several different directories for the .so file (/usr/local/lib/, /lib/x86_64-linux-gnu/) and confirmed the application can access the file (just reading the bytes before trying to do any encryption). I have also confirmed the .so file is where I expect it in the docker container. I have tried using absolute and relative paths when giving the driver the location of the .so file.
go mongo-driver v1.11.2
libmongocrypt version: 1.8.0-20230308+gitefaeb8e385
Can anyone see anything I’m doing wrong and/or provide methods to debug?