Heim > Datenbank > MySQL-Tutorial > Solaris 10 u10 安装 Oracle 10g2 链接时出现错误的解决方法

Solaris 10 u10 安装 Oracle 10g2 链接时出现错误的解决方法

WBOY
Freigeben: 2016-06-07 17:27:36
Original
1244 Leute haben es durchsucht

Solaris 10 u10 安装 Oracle 10g2 链接时出现错误的解决方法

Solaris 10 u10 安装 Oracle 10g2 链接时出现错误的解决方法

问题描述:

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.

查看make.log得到如下信息

*** 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

在网上找了很久,发现大概有两种处理办法。

1、是Oracle的版本与Solaris的版本不匹配,说是将64的介质安装在32位的系统上。但是我可以确定我的Oracle和Solaris的版本是对应的。

2、环境变量配置不正确,但是我也找了些安装Oralce10g的文档,基本上都应该配置了,我的环境变量配置如下:

MAIL=/usr/mail/${LOGNAME:?}  --这个创建完Oracle就存在的,,其它是我增加的

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:/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

解决方法:

这是个BUG,解决方案如下。

Cause

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.

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

将这段配置中的112改成96

修改前:

ntcontab:

.type  ntcontab,@object

.size  ntcontab,112

.align  4

修改后:

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.现在点retry 就好了

linux

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage