Error: ArcSDE gsrvr startup fails 'gsrvr: error while loading shared libraries'
The following error occurs when ArcSDE gsrvr startup fails. In the sde service log, sde_[sde_service_name] log, an error similar to the following is reported:
/data1/sde/sdeexe90/bin/gsrvr: error while loading shared libraries:
libsdeora10gsrvr93.so: cannot open shared object file: No such file or directory
[Thu Jan 1 00:00:00 2009]  [GIOMGR] Error (-1):Couldn't Start Server Task.
Variable substitution in the path of variables defined in the dbinit.sde file is not permitted.
For example, consider the following dbinit.sde file:
set LD_LIBRARY_PATH=$SDEHOME/lib: $ORACLE_HOME/lib
When the giomgr starts, the variable values are not substituted:
% sdemon -o info -I vars | grep LD_LIBRARY_PATH
The literal values of '$SDEHOME' and '$ORACLE_HOME' prevent the loader from resolving references to dynamic libraries, causing gsrvr startup to fail and consequently blocking user connections.
Solution or Workaround
When setting up ArcSDE on a UNIX/Linux platform, variables can be set in the dbinit.sde file, but be aware that variable substitution cannot be used.
- For example, in the dbinit.sde file, the following line is not valid:
The full path should be shown as follows:
- ArcSDE takes the environment variables from the shell of the user who starts ArcSDE. To this list of environment variables, it adds the variables that are set in the dbinit.sde file. If the variable already exists in the user's shell, ArcSDE uses the information from dbinit.sde instead.
- On UNIX/Linux platforms, to use variable substitution, it is recommended to set the SDE variables in a shell environment (i.e., .cshrc, .profile, .login, etc.) instead of using the dbinit.sde file.