快速业务通道

面向新手,Linux环境下安装GCC所遇到的问题汇总

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-09
路径内,要作适当的设置之后编译器才能顺利地找到并使用它们.

gcc、g 、gcj的设置

要想使用GCC 3.4.0的gcc等命令,简单的方法就是把它的路径  ${destdir}/bin放在环境变量PATH中.我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器.

,查看原来的gcc所在的路径:
% which gcc

在我的系统上,上述命令显示:/usr/bin/gcc.因此,原来的gcc命令在/usr/bin目录下.我们可以把GCC 3.4.0中的gcc、g 、gcj等命令在/usr/bin目录下分别做一个符号连接:
% cd /usr/bin
% ln -s ${destdir}/bin/gcc gcc34
% ln -s ${destdir}/bin/g g 34
% ln -s ${destdir}/bin/gcj gcj34

这样,就可以分别使用gcc34、g 34、gcj34来调用GCC 3.4.0的gcc、g 、gcj完成对C、C 、JAVA程序的编译了.同时,仍然能够使用旧版本的GCC编译器中的gcc、g 等命令.

库路径的设置

将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了.

例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:

$LD_LIBRARY_PATH

Empire CMS,phome.net

测试

用新的编译命令(gcc34、g 34等)编译你以前的C、C 程序,检验新安装的GCC编译器是否能正常工作.

根据需要,可以删除或者保留${srcdir}和${objdir}目录.

-----------------------------------------------------------------------------------------------------------------------------------------------------

我是通过windows平台下到网上搜来的安装包,然后复制到U盘上,然后接到虚拟机上,挂接到linux系统上.发现linux下上网下载东西实在不方便,可能我刚刚接触linux,高手莫笑!!!

挂接执行

#mkdir /mnt/udisk

#fdisk -l

#mount -t vfat /dev/sdb1 /mnt/udisk

这里要注意的是接U盘到虚拟机时用鼠标点击虚拟机后才插上U盘,这样才能被Linux识别,不然很可能被windows识别了,会挂接失败的.博主试了很多次,可怜我那刚买的U盘了.

-----------------------------------------------------------------------------------------------------------------------------------------------------

博主不才,在配置GCC安装环境时(也就是执行# % ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c ,java 时)遇到configure: error: no acceptable C compiler found in $PATH 的问题,这个问题是red hat9未装C编译器,或者C编译器未包含到系统调用路径中.于是,博主又就毛手毛脚地去鼓捣安装C编译器.去坛子里搜安装C编译器步骤时,某高人指点说直接跳过此步,安装GCC rpm,貌似是GCC编译器的一个编译后版本,然后安装到linux上就可以了.于是博主又跑去鼓捣rpm.

gcc rpm安装可参考http://www.5dlinux.com/article/3/2007/linux_8170.html

Empire CMS,phome.net

结果博主又一次失败了,不过博主不气馁.来分析一下问题,这次博主碰到的问题是在导入rpm文件时,新安装的rpm文件与系统原有的文件发生冲突,linux终端提示conflict with .... 于是博主又去翻资料,找到一篇介绍《初学者安装RPM包快速应急手册》,摘录如下:

----------------------------------------------------------------------------------------------------------------------------------------------------

用RPM包方式来发布软件变得越来越流行,主要的原因是这种软件发布方式很方便用户安装、升级和从系统中删除.除此之外,RPM还可以让你有更多的对系统安装的软件的管理性功能,例如可以查新系统有哪些已经安装的软件包,查看这些软件包分别安装了什么文件,这些文件又放在了什么地方等等.

这里我给出一个简单的入门手册,供初学者查看参考,快速使用RPM.这些RPM命令都是最最常用的,更复杂的功能大家可以暂时不用管,等确实需要的时候再去查man手册.:)

下面我们开始吧.安装一个RPM包的一般采用的命令格式如下:
# rpm -ivh package.ix86.rpm
在上面的命令中,package是个假定的名字,ix86是这个包为特定的CPU做了优化处理的意思.例如,package可能是ldconfig-1.9.5-14,而ix86是i386这样的.
“-i”参数指明是要安装这个package,而“-v”这个参数则使输出信息增加,“-h”表示在安装过程中显示hashes作为在安装过程的一个进度条.
上面就是所有的关于安装一个RPM包的内容,非常简单而好用吧.当然如果你安装过程中遇到了一些包依赖关系的问题那就稍微要麻烦一些了.包依赖关系问题就是说,你正在安装的包需要其他的包的支持才能正常工作.通常还有可能遇到的问题是所安装的包需要某个软件或者函数库的特定版本才能正常工作.这样的情况下,你可以安装或者升级依赖的软件包,然后继续安装你自己需要安装的软件包.

Empire CMS,phome.net

下面我们来看其他的一些非常有用的rpm命令.
如果你要看一个RPM包安装以后到底安装了那些文件,你可以使用这个命令:
# rpm -ql packagename
这个packagename就是你要查询的软件包的名字,例如ldconfig-1.9.5-14mdk;而“-p”参数表示查询软件包数据库,看这个软件包是否已经安装;“-l”参数表示列出所查询的包的所有安装了的文件的完整的路径.
下面是一个例子:
[wh@infonet wh]$ rpm -ql ldconfig-1.9.5-14mdk
/sbin/ldconfig
/usr/doc/ldconfig-1.9.5
/usr/doc/ldconfig-1.9.5/README
除了你查询某个软件包的信息这个实用功能外,还可以很方便的删除某个特定的RPM包软件.采用的命令参数是“-e“,格式如下:
# rpm -e packagename
“-e”就表示删除(erase)的意思,就是把特定的软件包(packagename)删除掉.
值得注意的是,rpm管理机制不允许你删除某个软件包,如果这个软件包还被其他软件包所依赖.一旦你删除了这个软件包,其他依赖他才能运行的软件包也就不能正常使用了.
已经学会了如何安装和如何删除一个rpm软件包,下面我们看看如何升级一个已经存在的rpm包软件.升级其实和安装类似,可以参考下面的命令:
# rpm -Uvh package.ix86.rpm
“-U“参数表示是升级(upgrade),参数“v”和“h”意义和前面一样的,这里不再赘述.
到此,我们已经学会了,如何安装、删除和升级一个使用rpm发布的软件了.:)

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号