源码编译安装说明

一、源码包说明

       源码包是程序员使用特定的格式和语法所书写的文本代码,一般由英文单词组成。
       计算机可以识别的是二进制语言,源码文件要想在linux上运行,必须经过编译后运行。

二、源码包特点:

  • 源码包的优点:
           源码包是开源的,可以进行修改发布。安装时,可以选择启用或禁用功能,更加具有灵活性。源码包是编译安装的,更加符合机器的特性,稳定性好。
  • 源码包的缺点:
           编译安装的步骤多,需要手动解决软件之间的依赖性,比较繁琐且编译安装时间长。编译过程中如有报错,初学者很难解决,往往需要解决一系列的问题,对新手不友好。

三、源码包安装过程:

       1. 解压缩源码包,进入包目录,一般都会有README文件和INSTALL文件。该文件里面有如何安装的说明和注意事项。
       2. 创建生成makefile文件。该文件其实是由configure脚本借助makefile.in模版文件生成的。
       3. make命令进行编译,该步骤调用gcc编译器将源码编译成可执行文件。
       4. make install命令会把编译完成的数据复制到指定的目录中去。
       至此,安装过程结束。

四、源码包cmatrix安装演示:

       1. 下载的源码包存放在/usr/local/src/目录下面,解压缩源码包,进入源码包目录中。

[11:26:17 root@centos7 src]#pwd
/usr/local/src
[11:26:25 root@centos7 src]#ls
cmatrix-1.2a cmatrix-1.2a.tar.gz

[11:26:28 root@centos7 src]#cd cmatrix-1.2a;ls
acconfig.h cmatrix.spec configure.in matrix.fnt README
aclocal.m4 cmatrix.spec.in COPYING matrix.psf.gz stamp-h.in
AUTHORS config.guess INSTALL missing TODO
ChangeLog config.h.in install-sh mkinstalldirs
cmatrix.1 config.sub Makefile.am mtx.pcf
cmatrix.c configure Makefile.in NEWS

       2. 查看该目录下面的READMEH和INSTALL文件来获取软件安装包的用处和安装步骤,输入configure命令查看安装帮助.

[11:31:33 root@centos7 cmatrix-1.2a]#./configure --help
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
--cache-file=FILE cache test results in FILE
--help print this message
--no-create do not create output files
--quiet, --silent do not print `checking...' messages
--version print the version of autoconf that created configure

       3. 执行configure脚本,生成makefile文件。

[11:32:55 root@centos7 cmatrix-1.2a]#./configure --prefix=/app/cmatrix

       4.使用make命令从makefile文件中读取内容,编译源码。

[11:51:57 root@centos7 cmatrix-1.2a]#make
gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -Wno-comment -c cmatrix.c
cmatrix.c:37:20: fatal error: curses.h: No such file or directory
#include <curses.h>
^
compilation terminated.
make: *** [cmatrix.o] Error 1

       编译过程中出现报错,安装停止。错误提示,没有找到curses.h这个文件。尝试执行yum search curses.h,查找下是否有软件包包含有此文件。

[11:57:16 root@centos7 cmatrix-1.2a]#yum search curses.h
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel: mirror01.idc.hinet.net
============================== Matched: curses.h ===============================
ncurses.x86_64 : Ncurses support utilities
ncurses-base.noarch : Descriptions of common terminals
ncurses-devel.i686 : Development files for the ncurses library
ncurses-devel.x86_64 : Development files for the ncurses library
ncurses-libs.i686 : Ncurses libraries
ncurses-libs.x86_64 : Ncurses libraries
ncurses-static.i686 : Static libraries for the ncurses library
ncurses-static.x86_64 : Static libraries for the ncurses library
ncurses-term.noarch : Terminal descriptions

[12:00:23 root@centos7 cmatrix-1.2a]#yum install ncurses-devel.x86_64 -y

[12:03:59 root@centos7 cmatrix-1.2a]#make
如果编译过程中仍出现错误,建议把整个解压的目录都删除掉,重新解压进入目录从头编译。

       5. 使用make install命令把软件安装在指定的安装目录。

[12:04:01 root@centos7 cmatrix-1.2a]#make install
make[1]: Entering directory `/usr/local/src/cmatrix-1.2a'
/bin/sh ./mkinstalldirs /app/cmatrix/bin
mkdir /app/cmatrix/bin
/usr/bin/install -c cmatrix /app/cmatrix/bin/cmatrix
make install-man1
...

       6. 至此,源码包安装完成,进入安装目录运行该程序。

[12:09:16 root@centos7 bin]#pwd;ls
/app/cmatrix/bin
cmatrix
[12:09:25 root@centos7 bin]#./cmatrix

       查看下程序执行的酷炫效果:
源码包编译安装过程说明