分享
 
 
 

Compiling Programs from Source

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在使用linux的时候你早晚都要听说"compile from source"这个术语。你第一次听说他的时候会让你感到很害怕,但是当你明白他是什么,他怎么工作的时候,你就会感觉他太简单了。也许你会问自己有像rpm和apt这样的安装包管理系统,我们为什么还要用原代码呢?尽管这些工作让事情变的简单,但是在使用他们中还是会发现有一些缺点。第一,你必须依赖与那些做安装包的人。这也就是说如果软件有的新的版本,在安装包不升级的情况下你是不能获得他的。但是你总是可以获得最新版本的程序原代码。安装包总是保留最大的通用性。一些选项有些人需要使用,而有些人却不需要。这也就是说如果有些特性你想要的没有被编译到安装包或者你想要安装一些十分符合你的系统的东西,那么原代码是你唯一的选择。从原代码编译成程序我们需要一些工具。一些发行商叫他们开发包。至少我们需要make程序,编译器(通常是gcc),一些相关的类库和其他的基础程序。如果你遇到一些问题,那么错误信息回告诉你缺少什么东西。在你解决了那些问题以后,需要删除一个叫做config.cache的文件,那样装配器才会发现你的更改。

现在我们已经作好了安装一个小程序的准备了。接下来我们要做的第一件事情就是下载原代码。在这篇文章里面我们要安装的程序叫做zgBasic。假设我已经把那个下载的原代码放到下面的这个目录:/usr/local/src(在这里的原代码名字叫做zgBasic.tar.gz).下载完后你接着做下面的:

=============================

tar zxf zgBasic.tar.gz

cd zxf zgBasic

./configure

make

make test (optional)

make install

=============================

第一行命令会解压缩(unzip)和解包(untar)下载的文件。下一条命令转换到相应的目录中去。大多数的标准安装包用./configure 和 make 还有make install来安装。大多数情况下你可以在README或INSTALL文件中找到安装包的结构。通过运行./configure命令你可以做两个基本的事情:1是让程序检测到他要安装的所有的文件和他们的位置,2是告诉程序那些选项你想在编译是添加。选项是可多可少的,你想知道他到底有那些选项可以运行下面的命令:

============================

./configure --help | less

============================

可以让你看到可以使用的选项。一旦装配器运行通过,并且你检查没有任何错误了,你就可以运行make了。这一步实际上是编译原代码为程序。取决与你编译的原代码和你的机器,这个过程可能执行几秒,也有可能是几个小时。make test是可选的,但是他是个很好的实践机会。他可以检测所有的东西是否正常,程序的操作是否合理。这里我们要注意到现在所有的步骤都可以由一个非root用户完成。但是最后的步骤是需要root权限的。只有那样做你的程序才能运行象其他安装在你系统上的程序一样。因为最后一步是真正的把文件copy到我们的系统中去。如果你还需要从新编译这个程序,在编译之前你需要做个make clean,他会删除你先前编译器产生的那些文件,并且返回一个删除文件的tree。

和前面的教程明显不同的是perl程序。从原代码(同样可以使用CPAN)安装perl程序我们需要按照下面的做

============================

tar zxf zgBasic-perl.tar.gz

cd zgBasic-perl

perl Makefile.PL

make

make test (optional)

make install

============================

你会发现大多数的步骤都一样,明显的不同只有./configure和perl makefile.pl。

如果你在从原代码安装程序的时候还是遇到一些问题,那么错误信息会明确的告诉你那些地方你丢失了,和他怎么失败的。如果还有不明白的,你可以联系我,qq:26798 7618279

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有