How do I pass LD_LIBRARY_PATH down to CGI programs from Apache?

If you're running:

  1. an Apache CGI application with the Easysoft ODBC-ODBC Bridge
  2. on a platform where the dynamic linker needs to be told where to find all required shared objects by using an environment variable

add a SetEnv or PassEnv (Apache 1.1 or later) variable to your Apache configuration file. For example, add this entry to httpd.conf:

PassEnv LD_LIBRARY_PATH
/usr/local/easysoft/unixODBC/lib:/usr/local/easysoft/oob/client:/usr/local/easysoft/lib

Not all dynamic linkers use LD_LIBRARY_PATH, some use LIBPATH or SHLIB_PATH and so on. Check your dynamic linker documentation for the correct environment variables to use.

If you're running something like mod_perl where the Perl interpreter is built into Apache, you may need to tell your dynamic linker where to find ODBC-ODBC Bridge shared objects before Apache starts up. For Apache, you might set and export LD_LIBRARY_PATH, LIBPATH, or SHLIB_PATH in apachectl.