CentOS软件管理 - 编译安装

简介: CentOS软件管理 - 编译安装

一、环境准备

很多软件下载之后是一个源码包,是不能够直接运行的,需要先进行编译安装,生成可执行程序。在进行编译时,需要先使用yum安装编译工具。

1. 核心组件

必须要安装的就是gcc(GNU Compiler Collection)GNU编译器套件,其中包含了C、C++、Objective-C、Fortran、Java、Ada、Go语言前端,也包含了对应语言的库,几乎可以满足绝大部分源码软件对编译环境的需要。

yum install gcc

安装后可解决以下问题:

如果yum使用出现问题,可进传送门:Linux软件管理 - YUM工具

2. 其他组件

在进行实际软件安装时,由于软件与软件之间可能也会存在依赖和调用关系,如:在源码编写时引入了某个类库,如果我们的系统中没有相关的类库,就会编译失败,这个时候我们只要根据报错信息安装相应的缺失类库即可,以下列出了一些常用的类库。

  • pcre
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

yum install pcre-devel
  • zlib
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.

yum install zlib-devel
  • curl
src/main.c:18:23: 错误:curl/curl.h:没有那个文件或目录
src/main.c: 在函数‘main’中:
src/main.c:143: 警告:隐式声明函数‘curl_global_init’
src/main.c:143: 错误:‘CURL_GLOBAL_ALL’未声明(在此函数内第一次使用)
src/main.c:143: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
src/main.c:143: 错误:所在的函数内也只报告一次。)
src/main.c:397: 警告:隐式声明函数‘curl_global_cleanup’
make: *** [src/main.o] 错误 1

yum install curl-devel
  • openssl
yum install openssl openssl-devel

二、安装流程

1. 解压:tar -zvxf

编译安装的第一步与解压安装类似,需要先进行解压缩,一般都会包含以下目录和内容。

  • src目录:软件源码存放位置
  • LICENSE:许可及权限信息
  • README:帮助说明文档
  • configure:用于检测当前系统环境,用户自定义配置,以及生成makefile文件
  • Makefile:有可能直接存在,大多数情况下在执行configure后出现,用来指定编译的顺序及其他的复杂的功能操作

2. 配置:configure

编译安装的第一步就是执行configure脚本,会检查编译构建当前软件的所需环境,同时用户可以根据需要指定相关的配置。所有的选项以-‌-开头使用等号连接配置项与配置的值,如:-‌-prefix=/usr/local/。

  • -‌-prefix:指定编译安装时的目标路径,相当于自定义软件安装位置
  • -‌-bindir:指定二进制文件的安装位置
  • -‌-sbindir:指定超级二进制文件的安装位置
  • -‌-datadir:指定数据文件的安装位置
  • -‌-include:指定头文件的安装位置
  • -‌-infodir:指定info文档格式文件的安装位置
  • -‌-mandir:指定帮助文档的安装位置

在不指定安装位置时,将会安装到默认位置,通常分布在/usr/local中

3. 编译:make

在进行configure后,如果环境不存在问题,会生成对应的Makefile文件,用于执行make命令时调用。

在make过后,其实软件已经完成了安装,会在源码解压目录中生成构建完成的文件,如:Nginx软件make后会在obj文件夹中生成如下文件:

4. 编译检查:make test/check

编译后可以使用make test或make check命令再次检查编译过程是否正确。

5. 编译安装:make install

执行最后一步:编译安装,根据configure阶段的配置,将已经生成的软件安装到指定的目录中去,可以对可执行文件定义软连接或者添加到环境变量,方便使用。


目录
相关文章
|
6月前
|
Linux 开发工具 C语言
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
931 3
|
5月前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
786 4
|
3月前
|
关系型数据库 MySQL Java
centos7安装mysql教程及Navicat平替软件
【8月更文挑战第17天】本教程详述CentOS 7上安装MySQL的过程。首先确保移除任何预装的MySQL组件,然后通过wget获取并安装MySQL的YUM源。可以选择安装特定版本如5.7或8.0。安装MySQL服务器后,启动服务并查找初始密码。登录MySQL后应立即更改密码,并可根据需要设置远程访问权限。此外,还推荐使用免费开源的DBeaver作为数据库管理工具,提供了安装步骤以方便管理和操作MySQL数据库。
151 3
|
23天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
70 2
|
1月前
|
安全 Linux 编译器
Centos 7.9如何使用源码编译安装curl最新版本
通过上述步骤,您就能在CentOS 7.9上成功地从源代码编译并安装curl的最新版本。这种方法不仅提供了灵活性,允许您定制编译选项,还确保了软件的最新功能和安全更新得到应用。
62 1
|
3月前
|
Linux 开发工具 C语言
centos7编译安装python3
centos7编译安装python3
|
3月前
|
分布式计算 Java Hadoop
centos7编译安装Hadoop3
centos7编译安装Hadoop3
|
3月前
|
Linux
centos安装与卸载软件
centos安装与卸载软件
46 1
|
3月前
|
前端开发 小程序 Unix
Centos安装前端开发常用软件
Centos安装前端开发常用软件
|
4月前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思