代码改变世界

Oracle Linux(64位)安装64位Oracle10g遇到ins_ctx.mk问题

2014-01-14 17:18 by 潇湘隐者, ... 阅读, ... 评论, 收藏, 编辑

在Oracle Linux Server Release 5.7上安装64位Oracle 10g 时,遇到如下问题:

Error in invoking target 'install' of makefile '/u01/app/oracle/product/dbhome_1/ctx/lib/ins_ctx.mk'.

See '/u01/app/oracle/oraInventory/logs/installActions2014-01-11_12-44-52PM.log' for details;

                                          截图如下

clip_image001

使用tail命令查看/u01/app/oracle/oraInventory/logs/installActions2014-01-11_12-44-52PM.log文件,发现如下信息:

   1: INFO: mv -f /u01/app/oracle/product/dbhome_1/bin/ctxlc /u01/app/oracle/product/dbhome_1/bin/ctxlcO
   2:  
   3: INFO: mv ctxlc /u01/app/oracle/product/dbhome_1/bin/ctxlc
   4:  
   5: INFO: chmod 751 /u01/app/oracle/product/dbhome_1/bin/ctxlc
   6:  
   7: INFO: gcc -m32 -o ctxhx -L/u01/app/oracle/product/dbhome_1/ctx//lib32/ -L/u01/app/oracle/product/dbhome_1/lib32/ -L/u01/app/oracle/product/dbhome_1/lib32/stubs/ /u01/app/oracle/product/dbhome_1/ctx/lib/ctxhx.o -L/u01/app/oracle/product/dbhome_1/ctx/lib/ -ldl -lm -lctxhx -Wl,-rpath,/u01/app/oracle/product/dbhome_1/ctx/lib -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /u01/app/oracle/product/dbhome_1/lib/sysliblist` 
   8:  
   9: INFO: /usr/bin/ld: crt1.o: No such file: No such file or directory
  10:  
  11: INFO: collect2: ld returned 1 exit status
  12:  
  13: INFO: make: *** [ctxhx] Error 1
  14:  
  15: INFO: End output from spawned process.
  16:  
  17: INFO: ----------------------------------
  18:  
  19: INFO: Exception thrown from action: make
  20:  
  21: Exception Name: MakefileException
  22:  
  23: Exception String: Error in invoking target 'install' of makefile '/u01/app/oracle/product/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oracle/oraInventory/logs/installActions2014-01-11_01-24-04PM.log' for details.
  24:  
  25: Exception Severity: 1
  26:  

在杨廷琨博客"安装LINUX X86-64的10201出现链接ins_ctx.mk错误"中刚好找到了问题的原因所在:Linux没有安装32位的glibc-devel包。于是检查一下是否没有安装32位的glibc-devel包。如下所示,确实只安装了64位的glibc-devel包。

   1: [root@CEG-eSCM ~]# rpm --all --query --queryformat "%{NAME}-%{VERSION}-%{RELEASE}-(%{ARCH})\n" | grep glibc
   2:  
   3: glibc-devel-2.5-65-(x86_64)
   4:  
   5: glibc-2.5-65-(x86_64)
   6:  
   7: glibc-headers-2.5-65-(x86_64)
   8:  
   9: glibc-common-2.5-65-(x86_64)
  10:  
  11: glibc-2.5-65-(i686)
  12:  

接下来安装位的glibc-devel包

   1: [root@CEG-eSCM cdrom]# yum install glibc-devel.i386
   2:  
   3: Loaded plugins: rhnplugin, security
   4:  
   5: This system is not registered with ULN.
   6:  
   7: ULN support will be disabled.
   8:  
   9: rhel-debuginfo | 1.1 kB 00:00
  10:  
  11: Setting up Install Process
  12:  
  13: Resolving Dependencies
  14:  
  15: --> Running transaction check
  16:  
  17: ---> Package glibc-devel.i386 0:2.5-65 set to be updated
  18:  
  19: --> Finished Dependency Resolution
  20:  
  21: Dependencies Resolved
  22:  
  23: ====================================================================================================================================
  24:  
  25: Package Arch Version Repository Size
  26:  
  27: ====================================================================================================================================
  28:  
  29: Installing:
  30:  
  31: glibc-devel i386 2.5-65 rhel-debuginfo 2.0 M
  32:  
  33: Transaction Summary
  34:  
  35: ====================================================================================================================================
  36:  
  37: Install 1 Package(s)
  38:  
  39: Upgrade 0 Package(s)
  40:  
  41: Total download size: 2.0 M
  42:  
  43: Is this ok [y/N]: y
  44:  
  45: Downloading Packages:
  46:  
  47: Running rpm_check_debug
  48:  
  49: Running Transaction Test
  50:  
  51: Finished Transaction Test
  52:  
  53: Transaction Test Succeeded
  54:  
  55: Running Transaction
  56:  
  57: Installing : glibc-devel 1/1 
  58:  
  59: Installed:
  60:  
  61: glibc-devel.i386 0:2.5-65
  62:  
  63: Complete!
  64:  

按照他博客的提示,安装这个包后,要退出安装界面,而不要点CONTINUE,否则即使ins_ctx.mk编译成功,任然会提示该错误。我按照提示安装成功后,退出Oracle安装,然后重新安装,问题解决。

参考资料:

    http://blog.itpub.net/4227/viewspace-675357