分享red hat linux 6上安装oracle11g时遇到的gcc: error trying to exec 'cc1': execvp: No such file or directory的问题处理过程
安装环境:Red Hat Linux 6.5_x64、oracle11g 64bit
报错详情:
安装到68%时弹窗报错:
调用makefile '/test/app/Administrators/product/11.2.0/dbhome_1/network/lib/ins_net_client.mk' 的目标 'mkldflags ntcontab.o nnfgt.o' 时出错。有关详细信息, 请参阅 '/test/app/oraInventory/logs/installActions2015-11-02_02-27-26PM.log'。
查看日志具体信息有下面的信息:
信息:gcc: error trying to exec 'cc1': execvp:
信息:没有那个文件或目录
信息:mv:无法获取"ntcontab.o" 的文件状态(stat)
信息:没有那个文件或目录
具体解决办法:
1、首先判断系统位数和oracle安装包位数是否一致,是否都为64位。
在系统中执行:
[root@localhost ~]# uname -i
x86_64
表明系统版本为64位。
oracle版本可以双击打开下载的安装包中名为welcome的html文件,看到有“11g Release 2 (11.2) for Linux x86-64”,证明系统位数和oracle位数一致。
2、排除了第一种可能性,看错误信息“gcc: error trying to exec 'cc1': execvp:”,一般这种问题是gcc和g++版本不兼容导致的,也有可能是gcc和g++没有正确安装或安装完gcc没有安装g++。
首先我们知道,官方文档要求在red hat linux 6版本上安装oracle11g时需首先打这样的两个包:gcc-4.4.4-13.el6.x86_64,gcc-c++-4.4.4-13.el6.x86_64。
第一步:确认gcc和g++版本是否一致。
[root@localhost ~]# /usr/bin/gcc -v
使用内建 specs。
目标:x86_64-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
线程模型:posix
gcc 版本 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)
[root@localhost ~]# /usr/bin/g++ -v
使用内建 specs。
目标:x86_64-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
线程模型:posix
gcc 版本 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)
如果提示类似“the package not installed”的字样,证明gcc或g++未安装。
如果最后显示的gcc版本不一致,证明你需要统一版本安装。
这两种状况解决办法:
在安装oracle 之前系统中打这样的包:gcc-4.4.4-13.el6.x86_64.rpm,gcc-c++-4.4.4-13.el6.x86_64.rpm。
安装命令为:rpm –ivh *.rpm
第二步,如果我们发现版本一致,例如上面的例子,gcc版本:gcc 版本 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)。这说明我们安装了gcc和g++并且版本一致,为何仍报错呢?
我们在linux系统中打rpm包时,如果遇到需要安装依赖包的问题,例如:
[root@localhost oracle_install_package]# rpm -ivh unixODBC-2.2.14-11.el6.i686.rpm
warning: unixODBC-2.2.14-11.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
error: Failed dependencies:
libltdl.so.7 is needed by unixODBC-2.2.14-11.el6.i686
libreadline.so.6 is needed by unixODBC-2.2.14-11.el6.i686
我们通常会选择使用命令rpm –ivh –force –nodeps 命令忽略依赖强制安装。但是在打gcc和g++包时却不能采取这样的方式,我们必须把所有的依赖包全部安装成功后,在安装
gcc-4.4.4-13.el6.x86_64.rpm,gcc-c++-4.4.4-13.el6.x86_64.rpm这两个包。
如果你恰好是采用了这样的方式,你会在刚刚的查询中gcc和g++的版本一致,但仍无法正确安装oracle11g。因为这两个包是不能强制安装的。
此时的解决办法:
(1)查询已安装的gcc和g++
执行命令rpm –q gcc
[root@localhost oracle_install_package]# rpm -q gcc
gcc-4.4.4-13.el6.x86_64
执行命令gcc-c++
[root@localhost oracle_install_package]# rpm -q gcc-c++
gcc-c++-4.4.4-13.el6.x86_64
得出安装的版本。
(2)使用rpm –e命令卸载包
rpm –e gcc-4.4.4-13.el6.x86_64.rpm
rpm –e gcc-c++-4.4.4-13.el6.x86_64.rpm
如果卸载遇到依赖性问题,可使用rpm –e –nodeps忽略依赖删除。
(3)卸载后重新使用rpm –ivh命令安装。
rpm –ivh gcc-4.4.4-13.el6.x86_64.rpm
rpm –ivh gcc-c++-4.4.4-13.el6.x86_64.rpm
安装过程中一般会遇到需首先安装依赖包的问题,此时我们需下载对应的依赖包进行安装。
依赖包安装的过程可能仍需要更多的依赖包,此时在安装依赖包时我们可以采用rpm –ivh –force –nodeps忽略依赖强制安装依赖包。安装完成依赖包后,我们就可以成功的安装gcc和gcc-c++包了。
打完两个包后,相信你就可以正常完成oracle11g的安装了。
分享red hat linux 6上安装oracle11g时遇到的gcc: error trying to exec 'cc1': execvp: No such file or directory的问题处理过程的更多相关文章
- 安装Redis 编译make gcc: error trying to exec 'cc1': execvp: 没有该文件或目录的错误
Linux(Redhat) make: gcc: error trying to exec 'cc1': execvp: 没有该文件或目录的错误 排查错误: 1.检查gcc.gcc-c++是否安装rp ...
- linux下编译安装MariaDB 10.4.7,解决错误:cannot access ‘/auth_pam_tool_dir’: No such file or directory
编译安装MariaDB 10.4.7,前面的步骤我就不复述了,一切正常没什么问题. 当执行到:scripts/mysql_install_db --basedir=/usr/local/mysql - ...
- Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_1
1. 产品安装过程中提示无法创建Domain([ICMD_10033] Command [defineDomain] failed with error [[INFASETUP_10002]) 1) ...
- Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_2
2. 产品安装过程提示Ping Domain Error 1)错误日志: Pinging domain... 8:19:22 AM ********************************** ...
- Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_3
3.Repository Service启动后的页面编码问题 1)错误信息: 2)原因分析及解决步骤 原因分析: informatica产品安装背后AdminConsole的Code page默认为U ...
- Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_4
4.创建Integration Service后无法启动 1)错误日志: 2)解决办法: 进入Repository Service的属性页面,将其运行模式改成Normal.
- 在Red Hat Enterprise Linux 5 64-bit安装oracle11g r2
网上这种文档一搜就一堆,没别的目的,刚接触oracle为了加深理解记忆.只要是跟我的版本一样操作系统和oracle软件,按照步骤肯定可以成功安装 在虚拟机上安装Red Hat Enterprise L ...
- Linux Red Hat 8.0虚拟机安装过程
Linux Red Hat 8.0虚拟机安装过程 一.安装虚拟机所需要的工具: 1.VMware Workstation Pro 2.Red Hat 8.0 虚拟机镜像 3.还有一个就是VMware的 ...
- Red hat Linux(Centos 5/6)安装R语言
Red hat Linux(Centos 5/6)安装R语言1 wget http://cran.rstudio.com/src/base/R-3/R-3.0.2.tar.gz2 tar xzvf R ...
随机推荐
- Wildfly 中支持jersey,并websocket的默认配置修改。
以下为在jboss安装相对路径来写的.1.\domain\configuration\domain.xml修改内容: 注释关键字jaxrs存在的四行.修改后如下: <!--<extensi ...
- .NET Linq/MVC/架构
学习参考: http://www.cnblogs.com/wangiqngpei557/p/3576685.html
- 2D游戏编程5—锁定频率
核心利用win心跳函数GetTickCount利用差量锁定fps,如下代码锁定30fps,缺点为如果计算机不能以30fps运行,程序将低于30fps #define WIN32_LEAN_AND_ME ...
- JavaScript高级程序设计50.pdf
hashchange事件 HTML5新增了hashchange事件,以便在URL的参数列表(及URL中“#”号后面的所有字符串)发生变化时通知开发人员,之所以新增这个事件,是因为在Ajax应用中,开发 ...
- Shell如何传递字符串
Shell 在写函数的时候,有时候需要传递字符串,由于字符串中有空格,所以结果总是不对,下面写个小例子,解决这个问题: #!/bin/bash # value init TT="adb sh ...
- [ZETCODE]wxWidgets教程二:辅助类
本教程原文链接:http://zetcode.com/gui/wxwidgets/helperclasses/ 翻译:瓶哥 日期:2013年11月27日星期三 邮箱:414236069@qq.com ...
- C文件操作之写入字符串到指定文件并在屏幕显示
- OSI 七层模型和 TCP/IP 协议比较
OSI (Open System Interconnection), 开放式系统互联参考模型.从下到上七层模型功能及其代表协议: 物理层(Physical) :规定了激活.维持.关闭通信端点之间的 ...
- MediaInfo源代码分析 2:API函数
本文主要分析MediaInfo的API函数.它的API函数位于MediaInfo.h文件中的一个叫做MediaInfo的类中. 该类如下所示,部分重要的方法已经加上了注释: //MediaInfo类 ...
- javascript中String 对象slice 和substring 区别
1.slice(start,stop)和substring(start,stop) 方法都是用于提取字符串中从start开始到stop-1间的字符(因为字符串索引是从0开始).其中 start必 ...