Solaris and Oracle 32bit Linking Error "fatal: symbol 'ntcontab' in file $O_H/lib/libn10.a(ntcontab.o): section [3].data: : symbol lies outside of containing section" [ID 1364167.1]
修改时间 12-OCT-2011 类型 PROBLEM 状态 MODERATED
In this Document
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
Applies to:Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 10.2.0.5 - Release: 10.1 to 10.2
Oracle Server - Standard Edition - Version: 10.1.0.2 to 10.2.0.5 [Release: 10.1 to 10.2]
Oracle Solaris on x86 (32-bit)
Oracle Solaris on x86-64 (64-bit)
This issue is currently known to affect only the 32bit version of Oracle Software on the following platforms
Solaris x86
Solaris x86-64
Where OS patch 144501-19 has been installed
or in the latest Solaris builds
Solaris 11 [Nevada]
or
Solaris 10 Update 10 and above ( Solaris 10 8/11 )Symptoms
When doing a new install or applying a patch of 32bit Oracle software on a server that meets the following criteria
Solaris x86
Solaris x86-64
Where OS patch 144501-19 has been installed
or in the latest Solaris builds
Solaris 11 [Nevada]
or
Solaris 10 Update 10 and above ( Solaris 10 8/11 )
The following error is seen during link phase:
excerpt from $ORACLE_HOME/install/make.log
INFO: Start output from spawned process:
INFO: ----------------------------------
INFO:
INFO: /export/home/oracle/sw/11g/bin/genclntsh
INFO: ld: fatal: symbol 'ntcontab' in file
/export/home/oracle/sw/11g/lib/libn10.a(ntcontab.o): section [3].data: size
0x60: symbol (address 0, size 0x70) lies
outside of containing section
INFO: ld: fatal: file processing errors. No output written to
/export/home/oracle/sw/11g/lib/libclntsh.so.10.1
INFO: genclntsh: Failed to link libclntsh.so.10.1
INFO: make: Fatal error: Command failed for target `client_sharedlib
INFO: '
INFO: *** Error code 1
Unpublished bug:
Bug 6791866 - ASSEMBLER 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.
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. edit gennttab
change
ntcontab:
.type ntcontab,@object
.size ntcontab,112
.align 4
to
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. If this error occurred during an installation of base release or patchset and you received the pop-up described above, click on 'Retry' and the link error should resolve itself.
6. If this error occurred during a patching installation via opatch utility then complete the following after doing steps 1-4 above
relink Oracle
relink all > relink.txt 2>&1
7. review the relink.txt file for errors