📄 如何编译安装源码包软件 linuxsir_org.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0039)http://www.linuxsir.org/main/?q=node/51 -->
<HTML lang=zh-hans xml:lang="zh-hans"
xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>如何编译安装源码包软件 | LinuxSir.Org</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<STYLE type=text/css media=all>@import url( misc/drupal.css );
</STYLE>
<STYLE type=text/css media=all>@import url( modules/taxonomy_context/taxonomy_context.css );
</STYLE>
<LINK media=screen href="如何编译安装源码包软件 LinuxSir_Org.files/menuExpandable3.css"
type=text/css rel=stylesheet>
<SCRIPT src="如何编译安装源码包软件 LinuxSir_Org.files/menuExpandable3.js"
type=text/javascript></SCRIPT>
<LINK href="如何编译安装源码包软件 LinuxSir_Org.files/common.css" type=text/css
rel=stylesheet>
<STYLE type=text/css media=all>@import url( themes/chameleon/marvin/style.css );
</STYLE>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY>
<DIV id=header><A title=Home href="http://www.linuxsir.org/main/"><IMG alt=Home
src="如何编译安装源码包软件 LinuxSir_Org.files/logo.jpg"></A></DIV>
<DIV class=navlinks>
<DIV class=primary><A href="http://www.linuxsir.org/main/?q"><FONT
color=white>首页</FONT></A> | <A
href="http://www.linuxsir.org/main/?q=taxonomy/term/34"><FONT
color=white>事件</FONT></A> | <A
href="http://www.linuxsir.org/main/?q=taxonomy/term/1/25/"><FONT
color=white>文档</FONT></A> | <A
href="http://www.linuxsir.org/main/?q=taxonomy/term/35/48/"><FONT
color=white>资源</FONT></A> | <A
href="http://www.linuxsir.org/main/?q=search"><FONT color=white>搜索</FONT></A> |
<A href="http://www.linuxsir.org/bbs"><FONT color=white>论坛</FONT></A> | <A
href="http://www.linuxsir.org/main/?q=taxonomy/term/38"><FONT
color=white>贡献者</FONT></A> | <A
href="http://www.linuxsir.org/main/?q=node/3"><FONT color=white>关于</FONT></A> |
<A href="http://www.linuxsir.org/main/?q=user"><FONT
color=white>注册/登录</FONT></A></DIV></DIV>
<TABLE id=content>
<TBODY>
<TR>
<TD id=sidebar-left>
<DIV class="block block-block" id=block-block-1>
<H2 class=title>子站索引</H2>
<DIV class=content>
<UL>
<LI><A href="http://fedora.linuxsir.org/" target?_blank?>Fedora中文</A>
<LI><A href="http://debian.linuxsir.org/" target?_blank?>Debian中文</A>
<LI><A href="http://lfs.linuxsir.org/" target?_blank?>LFS 中文</A>
<LI><A href="http://slack.linuxsir.org/">Slackware</A>
<LI><A href="http://gentoo.linuxsir.org/">Gentoo中文</A>
<LI><A href="http://arch.linuxsir.org/">Arch 中文</A> </LI></UL></DIV></DIV>
<DIV class="block block-block" id=block-block-3>
<H2 class=title>重要资讯</H2>
<DIV class=content>
<UL>
<LI><A href="http://www.linuxsir.org/main/?q=taxonomy/term/36">本站公告</A>
<LI><A href="http://www.linuxsir.org/main/?q=taxonomy/term/34">新闻事件</A>
<LI><A href="http://www.linuxsir.org/bbs" target=_blank>本站论坛</A>
<LI><A href="http://www.linuxsir.org/main/?q=taxonomy/term/38">贡 献 者</A>
</LI></UL></DIV></DIV>
<DIV class="block block-block" id=block-block-7>
<H2 class=title>项目索引</H2>
<DIV class=content>
<UL>
<LI><A href="http://www.fcitx.org/" target=_blank>小企鹅输入法</A>
<LI><A href="http://lumaqq.linuxsir.org/" target=_blank>LumaQQ</A>
<LI><A href="http://openq.linuxsir.org/" target=_blank>OpenQ</A>
<LI><A href="http://www.relaxbsd.org/" target=_blank>RelaxBSD</A>
</LI></UL></DIV></DIV>
<DIV class="block block-user" id=block-user-1>
<H2 class=title>站点导航</H2>
<DIV class=content>
<DIV class=menu>
<UL>
<LI class=leaf><A title=注册/登录
href="http://www.linuxsir.org/main/?q=user">注册/登录</A>
<LI class=collapsed><A
href="http://www.linuxsir.org/main/?q=aggregator">新闻聚合</A>
</LI></UL></DIV></DIV></DIV>
<DIV class="block block-aggregator" id=block-aggregator-feed-2>
<H2 class=title>LinuxSir.Org 论坛</H2>
<DIV class=content>
<DIV class=item-list>
<UL>
<LI><A
href="http://www.linuxsir.org/bbs/showthread.php?t=267339&goto=newpost">开始LFS,第一贴</A>
<LI><A
href="http://www.linuxsir.org/bbs/showthread.php?t=267338&goto=newpost">唔,今天心情好,贴个图:)</A>
<LI><A
href="http://www.linuxsir.org/bbs/showthread.php?t=267337&goto=newpost">Thruth请进~关于BCM
43xx 无线网卡支持</A>
<LI><A
href="http://www.linuxsir.org/bbs/showthread.php?t=267336&goto=newpost">--with-pic什么意思和作用?</A>
<LI><A
href="http://www.linuxsir.org/bbs/showthread.php?t=267335&goto=newpost">请问suse下如何调整硬盘分区的大小?</A>
</LI></UL></DIV>
<DIV class=more-link><A title=查看此feed的最新消息
href="http://www.linuxsir.org/main/?q=aggregator/sources/2">更多</A></DIV></DIV></DIV>
<DIV class="block block-user" id=block-user-2>
<H2 class=title>最新注册</H2>
<DIV class=content>
<DIV class=item-list>
<UL>
<LI>norton007
<LI>yanghaiquan
<LI>zuoricky
<LI>leon531
<LI>rainbor</LI></UL></DIV></DIV></DIV>
<DIV class="block block-user" id=block-user-3>
<H2 class=title>当前在线</H2>
<DIV class=content>1 用户 和 76 游客 在线
<DIV class=item-list>
<H3>在线用户</H3>
<UL>
<LI>北南南北</LI></UL></DIV></DIV></DIV></TD>
<TD id=main>
<DIV class=breadcrumb><A href="http://www.linuxsir.org/main/?q=">首页</A> »
<A href="http://www.linuxsir.org/main/?q=taxonomy/term/1">Linux</A></DIV>
<H2>如何编译安装源码包软件</H2><!-- begin content -->
<DIV class=node>
<DIV class=content>
<P><B>作者:</B>北南南北<BR><B>来自:</B>LinuxSir.Org<BR><B>提要:</B>源码包软件的安装、卸载,给新手一点帮助和提示;本文也对类型的软件包的安装也做了一个小小的说明;</P>
<P><B><BR>++++++++++++++++++++++++++++++++++++++++++++++<BR>正文:<BR>++++++++++++++++++++++++++++++++++++++++++++++<BR></B><BR><B><BR>一、什么是源码包软件;<BR></B><BR>顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见;在国内源可见的软件几乎绝迹;大多开源软件都是国外出品;在国内较为出名的开源软件有fcitx;lumaqq;Lumaqq及scim等;</P>
<P>但软件的源代码可见并不等于软件是开源的,我们还要以软件的许可为准;比如有些软件是源码可见的,但他约定用户只能按他约定的内容来修改;比如vbb论坛程序;所以一个软件是否是开源软件,得具备两个条件;一是源代码可见;二是要有宽松的许可证书,比如GPL证书等;</P>
<P>在GNU
Linux或BSD社区中,开发人员在放出软件的二进制软件包的同时,也会为我们提供源代码软件包;<BR><B><BR>二、源代码有何用?<BR></B><BR>一个软件的如果有源码,是任何人都能看到他是怎么开发而来的,就像一个瓶子,比如瓶子制作的模具是什么;需要什么材料;具体的用途以及瓶子的详细说明书等等。软件的开放源码就是类似,开发者在给我们软件的同时,也会告诉我们软件是怎么开发出来的;只要我们的水平足够的高,所有的代码都在那里,我们就可以修改和定制软件,以适合我们的需要;如果Windows开放源代码,并以GPL发布,一样是有人能造出来N多的Windows发行版;遗憾的是Windows并不是开源系统;</P>
<P><B><BR>所以软件的源代码的用处无非是以下两点;<BR></B><BR>1、软件根据用户的需要加以定制;<BR>2、二次开发;注:要根据软件的许可证书约定为准,开发者许可二次开发才行;</P>
<P><B><BR>三、怎样安装以源码包打包的软件;<BR></B><BR><FONT
color=blue><B><BR>1、源码包的打包格式;<BR></B></FONT></P>
<P>源代码一般以file.tar.gz file.tar.bz2或file.src.rpm
打包;file.tar.gz和file.tar.bz2格式的解包命令如下;<BR>
<DIV class=codeblock><CODE>[root@localhost beinan]# tar jxvf
file.tar.bz2<BR>[root@localhost beinan]# tar zxvf
file.tar.gz</CODE></DIV><BR>至于file.src.rpm 的用法,请参见:<A
href="http://fedora.linuxsir.org/main/?q=src.spec.html">《file.src.rpm
使用方法的简介》</A><BR><FONT
color=blue><B><BR>2、如何编译安装源码包;(大多数)<BR></B></FONT><BR><FONT
color=blue><BR>1)解开软件包查看帮助文档;<BR></FONT><BR>我们解开一个包后,进入解压包,一般都能发现README(或reame)和INSTALL(
或install);或doc(或DOC)目录;看名字就知道个差不多;
<P></P>
<P>比如我们下载一个比较新的fcitx 的软件包,比如是 <A href="http://www.fcitx.org/download"
target=_blank>fcitx-3.2-050827.tar.bz2</A></P>
<P>我们在解开这个软件包会会发现如下的文件;</P>
<P>
<DIV class=codeblock><CODE>[root@localhost fcitx]# tar jxvf
fcitx-3.2-050827.tar.bz2<BR>[root@localhost fcitx]#cd
fcitx<BR>[root@localhost fcitx]# ls<BR>aclocal.m4 config.guess configure
debian INSTALL Makefile.in src xpm<BR>AUTHORS config.h.in configure.in
depcomp install-sh missing THANKS<BR>autogen.sh config.rpath COPYING doc
lib mkinstalldirs TODO<BR>ChangeLog config.sub data fcitx.spec.in
Makefile.am README tools</CODE></DIV>
<P></P>
<P>所以我们就可以看fcitx的INSTALL 和doc目录的安装文档了;里面都告诉我们如何安装;</P>
<P>有时安装文档也会在开发者的主页上有详细的说明,及常见问题的处理等;比如 <A
href="http://lumaqq.linuxsir.org/" target=_blank>LumaQQ</A></P>
<P><FONT
color=blue><BR>2)编译安装软件的条件;<BR></FONT><BR>首先我们在Linux系统中至少得把开发工具安装上,比如 gcc
;perl;python;glibc;gtk;make ;automake
等开发工具或基础包;还要安装一些相应的开发包,一般是文件名包括dev的,比如kernel-devel;还有一些开发库,比如以lib开头的;如果您在编译软件时,有时提示缺少什么东西之类的,大多少的是这些开发工具和开发库等;从光盘中找出安装就是了;有时光盘没有提供,请用google搜索相应的软件包,有时可能也会用到源码包编译安装所依赖的包;</P>
<P>有时本来系统中已经安装了所依赖的包,但系统提示找不到应该怎么办?这时需要我们设置一下PKG_CONFIG_PATH的环境变量就行了;</P>
<P>#export PKG_CONFIG_PATH=/usr/lib/pkgconfig<BR>或<BR>#export
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig<BR>然后我们再来运行编译的./configure ;make
;make install ,尝试着来吧;</P>
<P>以java开发的工具开发的程序,要用到 jre或者jdk
;jdk已经包括jre了,所以如果我们只是要求有一个java程序运行的环境,只需要安装jre就行了;安装好jre,配置一下java的环境变量就可以用了。如果是图形界面的程序,点点鼠标就OK了;</P>
<P>请参考:<A href="http://fedora.linuxsir.org/main/?q=node/59">《JRE
安装和配置,以适合JAVA程序运行所具备的环境》</A></P>
<P>用perl 开发的程序,是需要perl环境的,所以必须得把perl的包安装上,python 也同理;</P>
<P><FONT color=blue><BR>3)编译安装软件的方法;<BR></FONT></P>
<P>大多以tar.gz 和tar.bz2打包软件,大多是通过 ./configure ;make ;make install
来安装的;有的软件是直接make;make install ;</P>
<P>我们可以通过./configure --help 来查看配置软件的功能;大多软件是提供./configure
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -