❖ Linux/Unix 编译安装软件源代码的最佳实践
2019-01-21 本文已影响4人
Solomon_Xie
Subtitle: Linux / Unix Build Software From Source Code Best Practice
*nix下编译安装开源软件是新手的一大痛。鉴于我胆小怕事、在正式学习前不随便使用新东西的心态,用了Linux很多年后现在才开始正式学习怎么编译一个新版本的开源软件。因为迫于跟不上新版本、包管理器不支持某些硬件平台等原因,现在已经到了不编译不行的地步,所以扛不住了,开始学习!
理解软件编译
源代码下载的话,基本上都是到Github直接下载zip或tar包即可。
常用的需要编译的开源软件主要指C或C++开发的软件。
一般编译这些软件主要有这几步:
-
./configure
- 检测本机当前的环境,看看是否满足权限和依赖包等。 -
make
- 把源代码编译成二进制文件 -
make install
- 把各个二进制文件和配置文件等复制到对应的目录 -
make uninstall
- 卸载(删除) make install时存到各个目录的文件。(如果Makefile中定义了才能用)
Dependency Hell
软件编译的最大问题就是依赖
。遇到Dependency Hell
,绝对是大概率事件。
/usr/local
vs. /opt
对于自己编译的软件安装到哪里,可以比得上Vim vs. Emacs
之争了。
简单来说:
-
/usr/local
- -
/opt
-
$ ./configure --prefix=/opt/ffmpeg-4.1