Exception String: Error in invoking target 'client_sharedlib' of makefile '/oracle/product/db_1/network/lib/ins_net_client.mk'. See
'/oracle/oraInventory/logs/installActions2012-02-21_11-03-51AM.log' for details
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. 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
按照上面这方法执行之后,又出现:
make: Fatal error: Can't find `ins_net_client.mk': No such file or directory
[oracle@prddb:/oracle/product/bin]#/usr/ccs/bin/make -f $ORACLE_HOME/network/lib/ins_net_client.mk ntcontab.o
rm -f ntcontab.*
(if [ "assemble" = "compile" ] ; then \
/oracle/product/bin/gennttab > ntcontab.c ;\
cc -c ntcontab.c ;\
rm -f /oracle/product/lib/ntcontab.o ;\
mv ntcontab.o /oracle/product/lib/ ;\
/usr/ccs/bin/ar rv /oracle/product/lib/libn10.a /oracle/product/lib/ntcontab.o ; fi)
(if [ "assemble" = "assemble" ] ; then \
/oracle/product/bin/gennttab > ntcontab.s ;\
/usr/ccs/bin/as -P -o ntcontab.o ntcontab.s ;\
rm -f /oracle/product/lib/ntcontab.o ;\
mv ntcontab.o /oracle/product/lib/ ;\
/usr/ccs/bin/ar rv /oracle/product/lib/libn10.a /oracle/product/lib/ntcontab.o ; fi)
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not found
/oracle/product/bin/gennttab: nm: not foundr - ntcontab.o
ar: writing /oracle/product/lib/libn10.a
(if [ "assemble" = "oratmp" ] ; then \
/oracle/product/bin/gennttab > ntcontab.c ;\
/lib/idcpp ntcontab.c oratmp.c ;\
-i oratmp.c -o oratmp.s -f ntcontab.c ;\
/usr/ccs/bin/as -o ntcontab.o oratmp.s ;\
rm -f oratmp.c oratmp.s ;\
rm -f /oracle/product/lib/ntcontab.o ;\
mv ntcontab.o /oracle/product/lib/ ;\
/usr/ccs/bin/ar rv /oracle/product/lib/libn10.a /oracle/product/lib/ntcontab.o ; fi)
(if [ "assemble" = "binary" ] ; then \
/oracle/product/bin/gennttab > ntcontab.c ;\
TARGET_BINARY_INTERFACE= ;\
export TARGET_BINARY_INTERFACE ;\
cc -c ntcontab.c ;\
-rm -f /oracle/product/lib/ntcontab.o ;\
-mv ntcontab.o /oracle/product/lib/ ;\
/usr/ccs/bin/ar rv /oracle/product/lib/libn10.a /oracle/product/lib/ntcontab.o ; fi)
原因:环境变量没设置正确,少/usr/ccs/bin、/usr/local/bin