Thursday, August 7, 2014

ld.so.1: opmn: fatal: libmodapi.so: open failed

APPLIES TO: Oracle Fusion Middleware - Version 11.1.1.2.0 and later Oracle Solaris on SPARC (64-bit) Checked for relevance on 22-Nov-2013 ========================================================================================== SYMPTOMS After installing Oracle Fusion Middleware 11.1.1.2 on Sun Solaris 64-bit on SPARC, starting OPMN managed process using "opmnctl startall" fails with the following error: opmnctl startall: starting opmn and all managed processes... ld.so.1: opmn: fatal: libmodapi.so: open failed: No such file or directory opmnctl startall: failed. CHANGES The environment variable LD_LIBRARY_PATH_64 was set before issuing "opmnctl startall" and it does not include $ORACLE_HOME/opmn/lib and $ORACLE_HOME/lib. You can retrieve the current value of this environment variable using: echo $LD_LIBRARY_PATH_64 =================================================================================== CAUSE The command "opmnctl" invokes 64-bit binary $ORACLE_HOME/opmn/bin/opmn which has dynamic dependencies in following two directories: $ORACLE_HOME/opmn/lib $ORACLE_HOME/lib On Solaris, LD_LIBRARY_PATH_64 and LD_LIBRARY_PATH environment variables affects the runtime linkers search for dynamic dependencies. For 64 bit applications, LD_LIBRARY_PATH_64 overrides LD_LIBRARY_PATH setting. Regardless of LD_LIBRARY_PATH setting, if LD_LIBRARY_PATH_64 is set and does not include $ORACLE_HOME/opmn/lib and $ORACLE_HOME/lib, opmn startup will fail. ================================================================================== SOLUTION There are two possible solutions: Solution 1: 1.Unset the environment variable LD_LIBRARY_PATH_64. 2.Confirm that LD_LIBRARY_PATH_64 is unset, following command should not return any value: echo $LD_LIBRARY_PATH_64 3.Start OPMN managed components using: opmnctl startall Solution 2: 1. Add $ORACLE_HOME/opmn/lib and $ORACLE_HOME/lib to beginning of LD_LIBRARY_PATH_64 export LD_LIBRARY_PATH_64=$ORACLE_HOME/opmn/lib:$ORACLE_HOME/lib:$LD_LIBRARY_PATH_64 2.Confirm that LD_LIBRARY_PATH_64 is set correctly using following command: echo $LD_LIBRARY_PATH_64 3.Start OPMN managed components using: opmnctl startall

No comments:

Post a Comment