Oracle Server - Enterprise Edition - Version: 10.2.0.1 and later [Release: 10.2 and later ]Linux x86-64
On 64bit linux, Starting vipca through root.sh at install time returns following error PRKH-1010 : Unable to communicate with CRS services.[PRKH-1000 : Unable to load the SRVM HAS shared library[PRKN-1008 : Unable to load the shared library "srvmhas10"or a dependent library, fromLD_LIBRARY_PATH="/opt/oracle/product/10.2.0.1/crs/jdk/jre/lib/i386/client:/opt/oracle/product/10.2.0.1/crs/jdk/jre/lib/i386:/opt/oracle/product/10.2.0.1/crs/jdk/jre/../lib/i386:/opt/oracle/product/10.2.0.1/crs/lib32:/opt/oracle/product/10.2.0.1/crs/srvm/lib32:/opt/oracle/product/10.2.0.1/crs/lib:/opt/oracle/product/10.2.0.1/crs/srvm/lib:/opt/oracle/product/10.2.0.1/crs/lib"
New install
Missing library "libclntsh.so.10.1" under $ORA_CRS_HOME/lib32Bug 4189481 Vipca/Srvctl: Prkn-1008 : Unable To Load The Shared Library "Libsrvmhas.So"This is often caused by missing 32bit rpm for glibc-devel-2*. Perform rpm -qa against glibc rpm, it should return two lines for each rpm which one stands for 64bit and one stands for 32bit library:$ rpm -qa |grep glibc-2glibc-2.3.4-2.13compat-glibc-2.3.2-95.30compat-glibc-2.3.2-95.30glibc-2.3.4-2.13$ rpm -qa |grep glibc-develglibc-devel-2.3.4-2.13glibc-devel-2.3.4-2.13If you have only 1 line output, then often it is the 32bit library missing. During relink of generating libclntsh.so, it reports: error: can not find crti.oThis file is part of glibc-devel-* 32bit rpm.
Confirm that libclntsh.so.10.1 under under $CRS_HOME/lib32 is missing.Check make log under $CRS_HOME/install for the error during relink.Make sure that rpm glibc-2*.i686.rpm and glibc-devel-2*.i386.rpm are installed.
ie) rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})/n"|grep glibc-devel
Then Either : Reinstall CRS.Or : Try the following:1. Login as root and shutdown crs on the node having problem. # crsctl stop crs2. Backup files under $ORA_CRS_HOME/lib and $ORA_CRS_HOME/lib323. Log in as root user.4. Set ORACLE_HOME to $ORA_CRS_HOME ie: # export ORACLE_HOME=/<full path of $ORA_CRS_HOME>5. # cd $ORACLE_HOME/network/lib6. # make -f ins_net_client.mk client_sharedlib7. For files under the $ORA_CRS_HOME/lib32 directory, Change owner, group, permission on files generated by step 6 to oracle:oinstall, 755 (check files generated by checking timestamp of files).8. Check if symbolic link libclntsh.so pointing to $CRS_HOME/lib/libclntsh.so.10.1 exists under $ORA_CRS_HOME/lib as before. If not, create one.9. Startup crs as root: # crsctl start crs10. rerun vipca if needed
------------------------------------------------In some ct's case, error on nnfgt.o shows also.-----------------------------------------------$CRS_HOME/install/make.log:Building 32bit version of nnfgt.oIn file included from /usr/include/features.h:352,from /usr/include/sys/types.h:27,from nnfgt.c:7:/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file ordirectorymv: cannot stat `nnfgt.o': No such file or directory/usr/bin/ar: /u01/app/oracle/product/10.2.0/clusterware/lib32/nnfgt.o: Nosuch file or directory
--------------------------------------------------------
Then, you may perform following steps BEFORE runningmake -f ins_net_client.mk client_sharedlib again (that's from make.log):gcc -m32 -c nnfgt.cmv nnfgt.o $CRS_HOME/lib32//usr/bin/ar rv $CRS_HOME/lib32/libn10.a $CRS_HOME/lib32/nnfgt.o
BUG:4189481 - VIPCA/SRVCTL: PRKN-1008 : UNABLE TO LOAD THE SHARED LIBRARY "LIBSRVMHAS.SO"
