软件以源码包方式安装

如何安装源代码格式的软件
首先这些源代码可以通过以下方式获取到:
官方自建站点,比如apache的官网
代码托管网站:比如sourceforge .github,code.google.com

一般情况下,源代码文件目录下,会有一个configure脚本文件,这个文件是用来生成最终的makefile文件,我们可以运行此脚本的时候传入指定参数,用于指明启用特性,安装路径等,那么此脚本文件就会根据参数,再结合makefile.in文件(makefile文件的魔板)生成最终的makefile文件
编译前需要准备的:
开发环境:开发库,头文件等,比如glibc就是最基本的库,是标准库
而在centos上,有些通用的开发组件被打包成为一些包组,我们可以通过yum安装这些包组来创建相关的开发环境,比如,development tools,这个是最基本的开发组件,他集成了make命令,gcc命令等,再比如还有一个常用到的包组叫server platform development
注意一些软件的编译不仅仅对glibc库的版本有要求,(这个glibc库虽然是标准库,但是也在不断迭代,迭代的版本应该是向下兼容的,比如glibc 5可能支持glibc 4 3 2 1,所以假如你的系统里的glibc是5的话,那么所有的依赖1,2,3,4,5的软件都可以运行,但是假如这个软件依赖的是glibc 6,那么就无法编译了)还可能对gcc编译器的版本也有要求。

编译一般分为三步骤:
1,./configure
注意不同软件的configure所支持的参数是不一样的,但是一般都有--help这个参数,这个参数可以帮助我们查看configure支持哪些参数,要门就是看readme,install文档
除了--help,还有一些常见通用选项:
--prefix=/path/to/somewhere:指定安装位置
--sysconfdir=/path/to/somewhere:配置文件安装位置
--disable-FEATURE 禁用某特性(等同于--enable-FEATURE=no)
--enable-FEATURE=[ARG] 启用或禁用某特性(arg=[yes|no])
--with-PACKAGE=[ARG] 依赖或不依赖某包
--without-PACKAGE 不依赖某包
2,如果第一步没问题,没有报错,就可以执行make了
3,make install 这个命令是把各项编译好的文件复制到指定的目录,比如把帮助文档放在哪里,把库文件放在/usr/lib64目录下

当然以上三步骤可能不是绝对的,比如有的就是源代码文件目录下根本没有configure脚本,该源代码只有一个单一的源代码文件,只需要编译这一个就可以了,这种情况也是有可能的。所以,建议在安装前,务必查看install或reademe之类的文档。

原文地址:https://www.cnblogs.com/saolv/p/9783605.html