linux 安装oracle 报错提示error in invoking target ntcontab.o of makefile

本文介绍了解决在安装Oracle过程中遇到的GCC依赖错误的方法。通过正确安装gcc-3.4.6-9和gcc-c++-3.4.6-9两个包,最终解决了安装过程中的依赖问题。

在安装的时候报上面的错误,经过查找,发现是gcc-3.4.6-9和gcc-c++-3.4.6-9两个包没有装好。

解决办法:
1. rpm -e gcc-3.4.6-9
提示gcc-c++-3.4.6-9依赖gcc-3.4.6-9这个包
2. rpm -e gcc-c++-3.4.6-9
成功;
3. rpm -e gcc-3.4.6-9
成功;
4. cdrom->Redhat/rpms->运行gcc-3.4.6-9.i386.rpm和gcc-c++-3.4.6-9.i386.rpm
成功;
5. 在oracle安装报错的提示界面选择retry,这个错误解决了!

<think>首先,用户的问题是关于在麒麟操作系统上远程安装Oracle时遇到一个特定的错误:"Error in invoking target 'links proc gen_pcscfg procob' of makefile"。错误信息提到了一个makefile路径和日志文件。 我需要参考系统级指令: - 所有行内数学表达式必须用$...$,但这里可能没有数学内容。 - 独立公式用$$...$$,但问题中没有数学公式。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾添加引用标识,如[^1]。用户提供了引用:[^1] 是一个错误日志引用,但它是示例性的,不是真实的。用户说:"上述引用仅供参考,并不是用户真正的需求",所以我应该基于用户的问题来回答。 用户的问题核心是:解决麒麟系统远程安装Oracle时的makefile错误。 我的回答结构: 1. **理解问题**:确认错误,并简要解释。 2. **分析原因**:可能的原因,如依赖缺失、环境问题等。 3. **解决方案**:逐步提供解决步骤。 4. **验证**:建议如何验证修复。 5. **生成相关问题**:在最后添加相关问题。 关键点: - 麒麟操作系统:基于Linux,可能是Kylin OS。 - 错误:涉及makefile的特定target:'links proc gen_pcscfg procob'。 - 日志文件:用户提到了日志路径,我应该建议查看日志以获取更多细节。 常见原因: - 缺少依赖库或工具。 - 权限问题。 - 环境变量设置不正确。 - 特定于Oracle安装的配置问题。 解决方案步骤: 1. 检查日志文件:首先查看提到的日志文件,获取具体错误信息。 2. 安装依赖:确保所有必要的包已安装,如gcc、make、libaio等。 3. 设置环境变量:如ORACLE_HOME、PATH等。 4. 运行修复脚本:Oracle提供了一些修复工具。 5. 手动运行make:尝试手动运行make命令来调试。 添加引用:在回答中,如果引用外部知识,添加[^n],但这里主要是基于经验。用户提供了一个引用[^1],但它是错误的,所以我可以忽略它或使用它作为参考。 最后,生成相关问题:在回答结束时,添加"相关问题"部分。 用中文回答。 完整回答结构: - 开头:确认问题。 - 步骤:逐步解决。 - 结尾:相关问题。</think>### 解决麒麟系统远程安装Oracle时出现“Error in invoking target 'links proc gen_pcscfg procob' of makefile”错误 在麒麟操作系统(基于Linux)上远程安装Oracle数据库时,遇到“Error in invoking target 'links proc gen_pcscfg procob' of makefile”错误,通常是由于环境配置问题、依赖库缺失或权限不足导致的。这个错误发生在Oracle安装过程中调用makefile的特定target时,具体路径如`/u01/app/oracle/product/12.1.0.1/db_1/precomp/lib/ins_precomp.mk`,并建议查看日志文件(如`/u01/app/oraInventory/logs/installActions2014-04-26_08-07-04PM.log`)以获取详细信息[^1]。以下我将逐步指导您解决此问题。请确保您有root或sudo权限,并全程在远程终端操作。 #### 步骤1: 查看错误日志以定位具体原因 首先,检查日志文件,这是诊断问题的关键。日志中通常包含更具体的错误信息(如缺失库文件或编译错误)。 ```bash # 使用cat或less命令查看日志文件(替换为您的实际日志路径) cat /u01/app/oraInventory/logs/installActions*.log | grep -i "error" ``` - **常见日志内容**:可能显示类似“libaio.so not found”或“permission denied”的错误。记录这些细节,以便后续步骤。 - **如果日志缺失**:运行Oracle安装程序时,确保安装目录(如`/u01/app`)有写权限。 #### 步骤2: 安装必要的依赖库 麒麟系统缺少Oracle安装所需的依赖库是常见原因。请运行以下命令安装所有必需包: ```bash # 更新系统并安装基础工具 sudo apt update # 如果使用apt(麒麟系统通常基于Ubuntu/Debian) sudo apt install -y gcc make binutils libaio-dev libaio1 ksh libstdc++6 libc6 libstdc++5 libstdc++5-32bit libnsl2 # 安装Oracle特定依赖(根据Oracle 12c/19c文档) sudo apt install -y libelf-dev sysstat unixodbc unixodbc-dev ``` - **关键点**:`libaio-dev`(异步I/O库)和`ksh`(Korn shell)是必须的,因为错误target涉及预编译过程。 - **验证安装**:运行`ldconfig -p | grep libaio`确保库文件存在。 #### 步骤3: 设置环境变量和权限 环境变量不正确或权限问题会导致makefile失败。确保Oracle用户(如`oracle`)有足够权限: ```bash # 设置环境变量(在oracle用户的.bashrc中) echo "export ORACLE_HOME=/u01/app/oracle/product/12.1.0.1/db_1" >> ~/.bashrc echo "export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc echo "export PATH=\$ORACLE_HOME/bin:\$PATH" >> ~/.bashrc source ~/.bashrc # 修复目录权限 sudo chown -R oracle:oinstall /u01/app sudo chmod -R 775 /u01/app ``` - **注意**:如果使用远程安装(如SSH),确保环境变量在会话中生效。运行`env | grep ORACLE`验证。 #### 步骤4: 手动运行makefile进行调试 如果安装程序仍失败,尝试手动调用makefile来隔离问题: ```bash # 切换到makefile目录 cd /u01/app/oracle/product/12.1.0.1/db_1/precomp/lib # 手动运行目标(可能需要root权限) sudo make -f ins_precomp.mk links proc gen_pcscfg procob ``` - **处理错误**: - 如果出现编译错误,检查gcc版本:运行`gcc --version`,确保版本兼容(Oracle 12c推荐gcc 4.8+)。 - 如果缺少符号链接,运行`sudo ln -s /usr/bin/ksh93 /usr/bin/ksh`(假设ksh已安装)。 - **成功标志**:命令应输出“Build complete”或类似信息。 #### 步骤5: 重新运行Oracle安装程序 修复后,重新启动Oracle安装: ```bash # 返回Oracle安装目录 cd /u01/app/oracle/database # 或您的安装包路径 ./runInstaller ``` - **最佳实践**:在安装前,运行Oracle预检查脚本(如`runcluvfy.sh`),确保系统满足要求。 - **如果错误重现**:基于日志调整步骤,或考虑使用Oracle的opatch工具修复。 #### 验证修复 - 安装完成后,运行`sqlplus / as sysdba`测试数据库连接。 - 检查日志文件:错误应消失,代之以成功消息。 #### 常见问题预防 - **麒麟系统兼容性**:麒麟系统可能需额外内核参数(如`/etc/sysctl.conf`中设置`kernel.shmall`)。参考Oracle Linux安装指南[^1]。 - **远程安装提示**:使用SSH时,避免网络中断;建议使用`screen`或`tmux`会话。 通过以上步骤,该错误通常能解决。如果问题持续,请提供日志片段,以便进一步分析。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值