首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 10g 安裝遇到 ins_ctx.mk 鏈接錯誤:缺少 glibc-devel 32位庫的解決方案

     編輯:Oracle 教學

Oracle 10g 安裝 ins_ctx.mk 錯誤根因與解決

在 CentOS 6.2 (x86_64) 安裝 Oracle 10g 時,鏈接階段報錯 ins_ctx.mk,經排查為缺少 32 位 glibc-devel 開發包導致編譯器找不到 32 位 C 標準庫頭文件與庫文件。

錯誤現象

Error in invoking target 'ctx' of makefile '.../ctx/lib/ins_ctx.mk'.
See '.../oraInventory/logs/installActions.log' for details.

日誌顯示:ld: cannot find -lc 或 gnu/stubs-32.h: No such file or directory。

根因分析

  • Oracle 10g 為 32 位應用(或編譯 32 位組件),需 32 位 glibc-devel 提供 libc.so、stubs-32.h 等。
  • CentOS 6.2 x86_64 預設僅安裝 64 位開發包,32 位庫缺失。

解決步驟

  1. 中止安裝程式(Continue 會導致後續更多鏈接錯誤)。
  2. 掛載系統安裝光盤/ISO,進入 Packages/ 目錄。
  3. 安裝 32 位 glibc-devel:

rpm -ivh glibc-devel-2.12-1.47.el6.i686.rpm
# 輸出:Preparing... ########################################### [100%]
#        1:glibc-devel ########################################### [100%]

⚠️ 關鍵:套件名含 .i686 表示 32 位 RPM。

  1. 安裝完成後,重新啟動 Oracle Universal Installer,從失敗步驟重試(或重新開始安裝)。

補充:常見伴隨缺失的 32 位包


yum install -y glibc-devel.i686 libstdc++-devel.i686 libaio-devel.i686 \
               compat-libstdc++-33.i686 libgcc.i686

建議在安裝 Oracle 前預先執行上述 yum 命令,一次性解決所有 32 位依賴。

驗證


# 確認 32 位庫可用
ls -l /usr/lib/libc.so
# 輸出應指向 libc-2.12.so
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved