Setting environment variables for UNIX environments
Setting environment variables includes setting the LD_PRELOAD variable. The BMC Remedy AR System server might not start due to the
LD_PRELOAD=/usr/lib/libumem.so environment variable entry in the armonitor.conf file. This entry references 32-bit libraries. The installer does not add this entry during installation.
BMC Remedy AR System provides 32-bit and 64-bit programs on all UNIX platforms. The 64-bit programs cannot load 32-bit libraries (and vice versa), so if you use the LD_PRELOAD environment variables to preload the libraries, you must make sure that they are compatible with 32-bit and 64-bit programs.
For example, the BMC Remedy AR System server will not start on a 64-bit Solaris computer if the armonitor.conf file contains a line like this:
The Solaris operating system is 64-bit, and /usr/lib/libumem.so is a 32-bit library.
A simple solution is to remove the directory part of the preload file name:
The dynamic linker can find the correct version of the library for both 32-bit and 64-bit programs.
Solaris and Linux provide alternative forms:
- LD_PRELOAD_32 — Affects only 32-bit dynamic linking. If this variable is set, the 32-bit dynamic linker ignores LD_PRELOAD.
- LD_PRELOAD_64 — Affects only 64-bit linking. If this variable is set, the 64-bit dynamic linker ignores LD_PRELOAD.
Environment variables are inherited from parent processes. Therefore, if the LD_PRELOAD variables are set in the process that starts BMC Remedy AR System (a shell, if you start manually, or a system startup script), then these variables might interfere with the precise operation.
As an installation prerequisite, ensure that these variables are either set correctly or not set at all.