Tuesday, March 3, 2009

Install Oracle fails with MakefileException target 'client_sharedlib'

Error Description:
While installing oracle software using oracle universal installer installation fails with a pop up windows Error, Error in invoking target 'client_sharedlib' of makefile '/home/oracle/oracle/product/10.2.0/db_2/network/lib/ins_net_client.mk'.
From the installation log file,

INFO: usr/bin/ld: skipping incompatible /home/oracle/oracle/product/10.2.0/db_2/lib/libxml10.a when
searching for -lxml10
/usr/bin/ld: cannot find -lxml10
collect2: ld returned 1 exit status
genclntsh: Failed to link libclntsh.so.10.1
make: *** [client_sharedlib] Error 1

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'client_sharedlib' of makefile '/home/oracle/oracle/product/10.2.0/db_2/network/lib/ins_net_client.mk'. See '/home/oracle/oraInventory/logs/installActions200
9-03-03_12-44-04AM.log' for details.
Exception Severity: 1

Cause of the Problem
This problem happens due to the incorrect kernel settings. While installing oracle software using OUI there were several checking and in case of "checking kernel parameters" there were warnings but possibly you avoid warnings by checking the box and hence after wards above error arises.

Solution of the Problems
1)Make sure you are installing 64 bit oracle on your 64 bit linux; 32 bit oracle software on your 32 bit linux software. If you don't do "Error in invoking target 'client_sharedlib' of makefile" will likely be the problem. So before proceed ensure your hardware platform, linux platform and oracle software. Identified these things are discussed detail in

How to Identify OS or Oracle 64 bit or 32 bit on Unix


2)Make sure oracle is the owner of the directory where you install oracle software. You can set ownership recursively as root user by,
#chown -R oracle:oinstall /home/oracle/oracle
if your installation path is /home/oracle/oracle

3)On Red hat linux, correctly set your kernel parameters.
Edit /etc/sysctl.conf file and entry followings.
#vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

To make immediate effect issue,
#/sbin/sysctl -p

For other system and details about kernel parameter settings see the post
How to configure(modify,see) Kernel Parameters in Linux

No comments:

Post a Comment