I’ve developed an application for GNU/Linux that uses the OpenSSL library. This application is supposed to run in both Debian and Red Hat-based distributions.
What is the best strategy to ensure the user’s system will have the OpenSSL library installed? Should I include a dependency on the .deb or .rpm for a specific version of the OpenSSL? How can I handle systems with older versions of OpenSSL, such as 0.9.8, and newer ones with 1.0.0? Or is it best to statically link it?
Thank you
Ubuntu uses Debian packages (.deb), RedHat uses RPM. You will have to create two different spec files to build packages for these two distributions, at least.
When you dynamically link against different versions of the library, you should really build several versions of your executable as well. Usually, the .so API is only guaranteed to stay the same for a major version. I.e. 0.9.4 will be compatible to 0.9.9, but not 1.0.1.