11gr1 installation failed on Fedora 14 with libnnz11.so could not read symbols

尝试把桌面迁移到Fedora 14上,在安装11g r1数据库软件时遭遇了libnnz11.so: could not read symbols: Invalid operation错误,OUI部分日志如下:

INFO: gcc -o /u01/app/maclean/product/11.1.0/db_1/sysman/lib/emdctl -L/u01/app/maclean/product/11.1.0/db_1/lib/ -L/u01/app/maclean/product/11.1.0/db_1/sysman/lib/ -L/u01/app/maclean/product/11.1.0/db_1/lib/stubs/       `cat /u01/app/maclean/product/11.1.0/db_1/lib/sysliblist` -Wl,-rpath,/u01/app/maclean/product/11.1.0/db_1/lib -lm    `cat /u01/app/maclean/product/11.1.0/db_1/lib/sysliblist` -ldl -lm   -L/u01/app/maclean/product/11.1.0/db_1/lib /u01/app/maclean/product/11.1.0/db_1/sysman/lib//s0nmectl.o -lnmectl -
INFO: lclntsh -L/u01/app/maclean/product/11.1.0/db_1/lib  -L/u01/app/maclean/product/11.1.0/db_1/sysman/lib/ -lnmemso -lcore11 -Wl,-rpath,/u01/app/maclean/product/11.1.0/db_1/lib/:/u01/app/maclean/product/11.1.0/db_1/sysman/lib/:/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386/client:/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386 -L/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386/client -L/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386 -z lazyload -ljava -ljvm -lverify -z nolazyload -Wl,-rp
INFO: ath,/u01/app/maclean/product/11.1.0/db_1/lib/:/u01/app/maclean/product/11.1.0/db_1/sysman/lib/:/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386/client:/u01/app/maclean/product/11.1.0/db_1/jdk/jre/lib/i386 -Wl,--allow-shlib-undefined    `cat /u01/app/maclean/product/11.1.0/db_1/lib/sysliblist` -ldl -lm

INFO: /usr/bin/ld: /u01/app/maclean/product/11.1.0/db_1/sysman/lib//libnmectl.a(nmectlt.o): undefined reference to symbol 'B_DestroyKeyObject'
/usr/bin/ld: note: 'B_DestroyKeyObject' is defined in DSO /u01/app/maclean/product/11.1.0/db_1/lib/libnnz11.so so try adding it to the linker command line
/u01/app/maclean/product/11.1.0/db_1/lib/libnnz11.so: could not read symbols: Invalid operation

INFO: collect2: ld returned 1 exit status

INFO: make[1]: *** [/u01/app/maclean/product/11.1.0/db_1/sysman/lib/emdctl] Error 1

INFO: make[1]: Leaving directory `/u01/app/maclean/product/11.1.0/db_1/sysman/lib'

INFO: make: *** [emdctl] Error 2

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'agent tclexec' of makefile '/u01/app/maclean/product/11.1.0/db_1/sysman/lib/ins_emagent.mk'. See '/u01/oraInventory/logs/installActions2011-03-15_09-59-46PM.log' for details.
Exception Severity: 1

google了一下网上的解决方法,需要手动修改make文件ins_emagent.mk,该文件位于$ORACLE_HOME/sysman/lib/ins_emagent.mk,找出该文件中的以下部分并修改:

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL)

修改为

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL) -lnnz11

之后重新编译该agent部分模块:

make -f ins_emagent.mk "agent"

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号