Erro de linker ao instalar o Oracle 11g no Fedora 18

2

Eu tenho que ensinar programação de banco de dados no Oracle DB usando C / C ++ no Linux. Então, o primeiro passo é instalar o Oracle 11g no Linux.

Configuração da máquina: HOST: Windows 8 Enterprise 64 bits Convidado: Fedora 18 XFCE edition 32 bit usando Virtual Box 4.2.10

Estou usando este link como um guia.

Eu concluí todas as etapas até a etapa './runInstall', onde recebo um erro na fase de vinculação:

A seguir, uma extração do arquivo de log em '/ 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]$

Como corrigir esse erro?

Existem outras maneiras de mostrar a programação do Oracle DB usando c ++?

Deixe-me saber se alguma outra informação é necessária.

    
por rsjethani 31.03.2013 / 13:23

2 respostas

5

Faça o seguinte:

  1. executar vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
  2. Pesquise a linha: $(MK_EMAGENT_NMECTL)
  3. Altere para: $(MK_EMAGENT_NMECTL) -lnnz11
por 10.04.2013 / 21:28
1

O Oracle no Fedora não é uma configuração suportada, AFAIU. Talvez você tenha mais sorte com o CentOS . Como isso e o próprio Linux da Oracle são ambos clones do Red Hat Enterprise Linux, você provavelmente terá mais sorte em encontrar pessoas que já fizeram isso.

De qualquer forma, minha experiência (por sorte há muito tempo atrás, mas rumores confiáveis dizem que nada mudou) é que instalar o Oracle é uma provação horrível. Os "scripts de instalação automatizada" estão gravemente quebrados e as instruções oficiais são para um pacote de software completamente diferente. Existem todos os tipos de variáveis de ambiente estranhas que precisam ser ajustadas corretamente (mas não estão documentadas) para que nada funcione.

    
por 07.04.2013 / 23:39