Solution to the error when installing the Oracle10g2 link of Solaris10u10
Solution to the Problem of Oracle 10g2 connection installation during Solaris 10 u10
Solution to the Problem of Oracle 10g2 connection installation during Solaris 10 u10
Problem description:
Exception String: Error in invoking target 'client _ sharedlib 'of makefile'/u01/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'. See
'/U01/app/oracle/oraInventory/logs/installActions2012-02-21_11-03-51AM.log' for details.
View make. log to get the following information:
* ** Error code 1
Make: Fatal error: Command failed for target 'client _ sharedlib'
/Usr/ccs/bin/make-f ins_net_client.mk client_sharedlib ORACLE_HOME =/u01/app/oracle/product/10.2.0/db_1/u01/app/oracle/product/10.2.0/db_1/ bin/genclntsh
Ld: fatal: symbol 'ntcontab' in file/u01/app/oracle/product/10.2.0/db_1/lib/libn10.a (ntcontab. o): section [3]. data: size 0x60: symbol (address 0, size 0x70)
Lies outside of containing section
Ld: fatal: file processing errors. No output written to/u01/app/oracle/product/10.2.0/db_1/lib/libclntsh. so.10.1
Genclntsh: Failed to link libclntsh. so.10.1
After searching online for a long time, I found that there are two solutions.
1. The Oracle version does not match the Solaris version. It means that 64 media is installed on a 32-bit system. However, I can confirm that my Oracle and Solaris versions correspond.
2. The environment variable configuration is incorrect, but I have also found some documents for installing Oralce10g, which should be basically configured. My environment variable configuration is as follows:
MAIL =/usr/mail/$ {LOGNAME :?} -- This exists after Oracle is created. Others are added by me.
DISPLAY = localhost: 0.0
Export DISPLAY
ORACLE_BASE =/u01/app/oracle
Export ORACLE_BASE
ORACLE_HOME = $ ORACLE_BASE/product/10.2.0/db_1
Export ORACLE_HOME
ORACLE_SID = solarisOracle01
Export ORACLE_SID
NLS_LANG = AMERICAN_AMERICA.ZHS16GBK
Export NLS_LANG
PATH = $ ORACLE_HOME/bin:/sbin:/usr/ccs/bin:/usr/local/bin
Export PATH
LD_LIBRARY_PATH = $ ORACLE_HOME/lib: $ ORACLE_HOME/network/lib:/usr/local/lib
Export LD_LIBRARY_PATH
Umask 022
Solution:
This is a BUG. The solution is as follows.
Cause
Unpublished bug:
Bug 6791866-Cycler CODE GENERATED BY GENNTTAB CAUSES LD ERROR IN LATEST SOLARIS BUILDS
Which states:
Always in the latest Solaris builds
Solaris 11 [Nevada]
And
Solaris 10 Update 10 and above (Solaris 10 8/11)
Due to stricter integrity checking in the linker (ld)
Or
OS patch 144501-19 installed.
Solution
For versions 10.1.x through 10.2.0.x use the following workaround
If this occurs during an installation of the base release or patchset, you will get a pop-up for the link error providing the following options, 'retry or Continue '. leave this popup and login to a new session as the owner of the ORACLE_HOME, and complete the following:
1. cd $ ORACLE_HOME/bin
2. cp gennttab gennttab_orig
3. vi gennttab
Change 112 in this configuration to 96
Before modification:
Ntcontab:
. Type ntcontab, @ object
. Size ntcontab, 112
. Align 4
After modification:
Ntcontab:
. Type ntcontab, @ object
. Size ntcontab, 96
. Align 4
4. cd $ ORACLE_HOME/network/lib
Execute command
/Usr/ccs/bin/make-f ins_net_client.mk ntcontab. o
Execute command
$ ORACLE_HOME/bin/genclntsh
5. click retry now.