在 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。
glibc-devel 提供 libc.so、stubs-32.h 等。Packages/ 目錄。
rpm -ivh glibc-devel-2.12-1.47.el6.i686.rpm
# 輸出:Preparing... ########################################### [100%]
# 1:glibc-devel ########################################### [100%]
⚠️ 關鍵:套件名含 .i686 表示 32 位 RPM。
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