Linker error while installing Oracle 11g on Fedora 18

8,554

Solution 1

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

Solution 2

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.

Share:
8,554

Related videos on Youtube

rsjethani
Author by

rsjethani

I like coding.........I like to learn and share with brilliant minds all over the world........

Updated on September 18, 2022

Comments

  • rsjethani
    rsjethani over 1 year

    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.

  • David Balažic
    David Balažic over 4 years
    I get the same error on Oracle Linux 7.7
  • David Balažic
    David Balažic over 4 years
    But the error happens during installation, while you refer to the files after installation. Or am I missing something?