Richard Levitte | e68cb95 | 2003-01-10 16:14:32 +0000 | [diff] [blame] | 1 | The OpenSSL shared libraries are often installed in a directory like |
| 2 | /usr/local/ssl/lib. |
| 3 | |
| 4 | If this directory is not in a standard system path for dynamic/shared |
| 5 | libraries, then you will have problems linking and executing |
| 6 | applications that use OpenSSL libraries UNLESS: |
| 7 | |
| 8 | * you link with static (archive) libraries. If you are truly |
| 9 | paranoid about security, you should use static libraries. |
| 10 | * you use the GNU libtool code during linking |
| 11 | (http://www.gnu.org/software/libtool/libtool.html) |
| 12 | * you use pkg-config during linking (this requires that |
| 13 | PKG_CONFIG_PATH includes the path to the OpenSSL shared |
| 14 | library directory), and make use of -R or -rpath. |
| 15 | (http://www.freedesktop.org/software/pkgconfig/) |
| 16 | * you specify the system-wide link path via a command such |
| 17 | as crle(1) on Solaris systems. |
| 18 | * you add the OpenSSL shared library directory to /etc/ld.so.conf |
| 19 | and run ldconfig(8) on Linux systems. |
| 20 | * you define the LD_LIBRARY_PATH, LIBPATH, SHLIB_PATH (HP), |
| 21 | DYLD_LIBRARY_PATH (MacOS X) or PATH (Cygwin and DJGPP) |
| 22 | environment variable and add the OpenSSL shared library |
| 23 | directory to it. |
| 24 | |
| 25 | One common tool to check the dynamic dependencies of an executable |
| 26 | or dynamic library is ldd(1) on most UNIX systems. |
| 27 | |
| 28 | See any operating system documentation and manpages about shared |
| 29 | libraries for your version of UNIX. The following manpages may be |
| 30 | helpful: ld(1), ld.so(1), ld.so.1(1) [Solaris], dld.sl(1) [HP], |
| 31 | ldd(1), crle(1) [Solaris], pldd(1) [Solaris], ldconfig(8) [Linux], |
| 32 | chatr(1) [HP]. |