| The OpenSSL shared libraries are often installed in a directory like |
| /usr/local/ssl/lib. |
| |
| If this directory is not in a standard system path for dynamic/shared |
| libraries, then you will have problems linking and executing |
| applications that use OpenSSL libraries UNLESS: |
| |
| * you link with static (archive) libraries. If you are truly |
| paranoid about security, you should use static libraries. |
| * you use the GNU libtool code during linking |
| (http://www.gnu.org/software/libtool/libtool.html) |
| * you use pkg-config during linking (this requires that |
| PKG_CONFIG_PATH includes the path to the OpenSSL shared |
| library directory), and make use of -R or -rpath. |
| (http://www.freedesktop.org/software/pkgconfig/) |
| * you specify the system-wide link path via a command such |
| as crle(1) on Solaris systems. |
| * you add the OpenSSL shared library directory to /etc/ld.so.conf |
| and run ldconfig(8) on Linux systems. |
| * you define the LD_LIBRARY_PATH, LIBPATH, SHLIB_PATH (HP), |
| DYLD_LIBRARY_PATH (MacOS X) or PATH (Cygwin and DJGPP) |
| environment variable and add the OpenSSL shared library |
| directory to it. |
| |
| One common tool to check the dynamic dependencies of an executable |
| or dynamic library is ldd(1) on most UNIX systems. |
| |
| See any operating system documentation and manpages about shared |
| libraries for your version of UNIX. The following manpages may be |
| helpful: ld(1), ld.so(1), ld.so.1(1) [Solaris], dld.sl(1) [HP], |
| ldd(1), crle(1) [Solaris], pldd(1) [Solaris], ldconfig(8) [Linux], |
| chatr(1) [HP]. |