分享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 ...
随机推荐
- (转载)1248 - Every derived table must have its own alias
(转载)http://hi.baidu.com/lylegend13/item/a79f17eb51f5dff7e0a5d43b 1. select count(distinct CName) fro ...
- JavaScript高级程序设计23.pdf
document对象作为HTMLDocument的一个实例,它还有一些标准的Document对象所没有的属性,这些属性提供了网页上的一些信息 //取得文档标题 var title1=document. ...
- 打印从1到k之间的所有素数
问题分析:素数是指大于1且只能被它本身和1整除的数,根据定义可以从2开始对一个数取余数一直到它本身,若它有第三个整除数,则可以判定它不是素数.若使用这种方法,会浪费时间,我们可以判断2到这个数的算术平 ...
- Closure Compiler(封闭编辑器), Closure Inspector, Closure Templates, 封闭图书馆(Closure Library) Google- 摘自网络
谷歌日前宣布,将自己开发者使用的一系列工具对外开放.这些工具曾用来开发谷歌的主要产品,包括Gmail.谷歌文档(Google Docs)和谷歌地图(Google Maps). 第一个工具叫做Closu ...
- patch与diff的恩怨
一.概述 diff和patch是一对相辅相成的工具,在数学上来说,diff类似于对两个集合的差运算,patch类似于对两个集合的和运算.diff比较两个文件或文件集合的差异,并记录下来,生成一个dif ...
- 微信、QQ这类IM App怎么做——谈谈Websocket
前言 关于我和WebSocket的缘:我从大二在计算机网络课上听老师讲过之后,第一次使用就到了毕业之后的第一份工作.直到最近换了工作,到了一家是含有IM社交聊天功能的app的时候,我觉得我现在可以谈谈 ...
- JVM performance profiling (有待整理)
Agenda memory model 3 parts: heap, permgen (method area) , thread stack(pointer, local var) heap: yo ...
- JavaScript面向对象继承方法
JavaScript的出现已经将近20多年了,但是对这个预言的褒贬还是众说纷纭.很多人都说JavaScript不能算是面向对象的变成语言.但是JavaScript的类型非常松散,也没有编译器.这样一来 ...
- js去除空格
function trim(str){ return str.replace(/(^\s*) | ( \s*$ )/g,"" ); }
- chrome下老是弹出网页显示 true
事实上这个问题是chrome下安装了一些插件的原因,一般来说是安装迅雷插件会出现这个问题,删除迅雷插件就好了.