I have to teach database programming against Oracle DB using C/C++ on Linux. So first step is to install Oracle 11g on Linux.
Machine config :
HOST: Windows 8 Enterprise 64 bit
Guest: Fedora 18 XFCE edition 32 bit using Virtual Box 4.2.10
I'm using this link as a guide.
I have completed all steps till './runInstall' step where I get an error in the linking phase:
The following is an extract from the log file in '/u01/app/oraInventory/logs':
[oracle@localhost logs]$ tail -n 25 installActions2013-03-31_03-14-24PM.log
INFO: /usr/bin/ld: warning: -z lazyload ignored.
/usr/bin/ld: warning: -z nolazyload ignored.
/usr/bin/ld: /u01/app/oracle/product/11.2.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/oracle/product/11.2.0/db_1/lib/libnnz11.so so try adding it to the linker command line
/u01/app/oracle/product/11.2.0/db_1/lib/libnnz11.so: could not read symbols: Invalid operation
INFO: collect2: error: ld returned 1 exit status
INFO: make[1]: *** [/u01/app/oracle/product/11.2.0/db_1/sysman/lib/emdctl] Error 1
INFO: make[1]: Leaving directory `/u01/app/oracle/product/11.2.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 nmhs' of makefile '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2013-03-31_03-14-24PM.log' for details.
Exception Severity: 1
INFO: Adding ExitStatus STOP_INSTALL to the exit status set
INFO: Finding the most appropriate exit status for the current application
INFO: Exit Status is -4
INFO: Shutdown Oracle Database 11g Release 2 Installer
INFO: Unloading Setup Driver
[oracle@localhost logs]$
How to fix this error?
Are there any other ways to show Oracle DB programming using c++?
Let me know if any other info is needed.
Best Answer
Do the following:
vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
$(MK_EMAGENT_NMECTL)
$(MK_EMAGENT_NMECTL) -lnnz11