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.

2 Answers 2


Do the following:

  1. run vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
  2. Search for the line: $(MK_EMAGENT_NMECTL)
  3. Change it to: $(MK_EMAGENT_NMECTL) -lnnz11
  • But the error happens during installation, while you refer to the files after installation. Or am I missing something? Sep 13, 2019 at 14:25

Oracle on Fedora isn't a supported configuration, AFAIU. Maybe you'll have better luck with CentOS. As this and Oracle's own Linux are both clones of Red Hat Enterprise Linux, you'll probably have more luck finding people who already did this.

In any case, my experience (luckily long ago, but somewhat reliable rumors say nothing much has changed) is that installing Oracle is a horrible ordeal. The "automated installation scripts" are severely broken, and the official instructions are for a completely different software package. There are all sorts of strange environment variables that have to be set just right (but aren't documented) for anything to work.

  • I get the same error on Oracle Linux 7.7 Sep 13, 2019 at 14:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .