|
Development of the Java bindings has revealed that a libmongocrypt.so built on Ubuntu will not work on RedHat and that a libmongocrypt.so built on RedHat will not work on Ubuntu. The source of the problem has to do with the differing naming conventions for libssl components (of which libcrypto is a part) between the two distributions. Additionally, the versioning of libssl components on the various supported distributions further complicates the production of a single libmongocrypt.so which works on all supported Linux variants.
This problem will also affect the Python and C# drivers, and possibly others.
To address this problem, it is necessary to vendor the libssl code into the libmongocrypt project. The build should be updated so that specifying an optional build flag results in the libcrypto components that are used by libmongocrypt being built and linked directly into the resulting libmongocrypt.so so that there is no external dependency on libssl or libcrypto.
|