嘗試把桌面遷移到Fedora 14上,在安裝11g r1資料庫軟體時遭遇了libnnz11.so: could not read symbols: Invalid operation錯誤,OUI部分日誌如下:
google了一下網上的解決方法,需要手動修改make檔案ins_emagent.mk,該檔案位於$ORACLE_HOME/sysman/lib/ins_emagent.mk,找出該檔案中的以下部分並修改:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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 |
1
2
3
4
5
6
7
8
9
10
11
|
$(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL)
修改為 $(SYSMANBIN)emdctl: $(MK_EMAGENT_NMECTL) -lnnz11
之後重新編譯該agent部分模組: make -f ins_emagent.mk "agent"
|