LINUX安装源码软件经典三部曲

这几天一直在搞suse下的mplyaer、ffmpeg等源码编译安装,总结出源码软件安装三部曲,网上称为经典三部曲。
  这三步分别为:
  1. ./configure [options]
  2. make
  3. make install
  具体地说:
  1. 先下载源码。这里本人一直偏向于在官网上直接下载源码。因为个人觉得一切源码还是官网比较正规,谁知道其他地方下载的东西有没有被加入什么乱七八糟的东西;
  2. 源码一般以bz2或者是gz形式的包。包里一般有readme或者是install文档,这里面有关于本源码该如何编译安装,可以仔细看看。有时候包里没有这两个文档,但是会有一个doc目录,该目录下有针对不同OS平台的安装文档,一样可以细读;
  3. 将源码拷到linux上,解压;
  4. 第一步就是configure配置。配置项还是很多的,可以通过./configure --help查看有哪些配置项。很多源码的readme文档直接指出,一般使用./configure就可以看了。我个人喜欢将源码安装到指定的位置,使用./configure --prefix=我安装的目录。这样做的好处就是我知道将软件装在哪里了,将来还有他用;
  5. 第二步,使用make开始编译。这一步是根据上一步configure的结果来编译的;
  6. 第三步,使用make install开始安装,这一步结束后,软件就被安装到我指定的目录下;
  注意:有时候使用系统自带的make时,编译会报出一些错误,原因是系统自带的make版本太老了,可以装个新的,官网可以再百度上搜下。
  这里再补充几点:
  1. 上面make后,可以使用make clean将编译参数清空,接着重新make;
  2. 上面configure发现错误,可以使用make distclean,将configure参数全部清空,接着重新./configure-->make;

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 17:38:34

LINUX安装源码软件经典三部曲的相关文章

Linux下源码编译安装配置SVN服务器的步骤分享_Linux

说明: SVN(subversion)的运行方式有两种: 一种是基于Apache的http.https网页访问形式: 还有一种是基于svnserve的独立服务器模式. SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据:另一种是使用普通的文件FSFS存储数据. 由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用FSFS方式更安全. 实现目的: 以svnserve的独立服务器模式,使用FSFS数据存储方式源码编译安装配置SVN服务器. 具体操作: 操作系统

brew googlecode-brew安装源码在googlecode上的软件被墙

问题描述 brew安装源码在googlecode上的软件被墙 brew install --fresh -vd snappy leveldb gflags glog szip lmdb ..... Error: Failed to download resource "snappy" Download failed: https://snappy.googlecode.com/files/snappy-1.1.1.tar.gz 我用homebrew安装snappy的时候,googlec

《Nmap渗透测试指南》—第1章1.3节Linux/Unix源码编译安装Nmap

1.3 Linux/Unix源码编译安装Nmap在Linux/Unix中我们可以很方便地通过源码编译安装Nmap,首先在"http://nmap.org/ download.html"中选择源码进行下载.下载完毕后首先解压压缩包. root@ubuntu:/home# bzip2 -cd nmap-6.46.tar.bz2 | tar xvf - nmap-6.46/zenmap/zenmapCore/I18N.py nmap-6.46/zenmap/zenmapCore/Versio

Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 【转】

原文地址:Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 作者:tekkamanninja  转自:http://blog.chinaunix.net/uid-25909619-id-4938390.html   在构架相关的汇编代码运行完之后,程序跳入了构架无关的内核C语言代码:init/main.c中的start_kernel函数,在这个函数中Linux内核开始真正进入初始化阶段,      下面我就顺这代码逐个函数的解释,但是这

Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7)【转】

原文地址:Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7) 作者:tekkamanninja  转自:http://blog.chinaunix.net/uid-25909619-id-4938393.html 在分析start_kernel函数的时候,其中有构架相关的初始化函数setup_arch. 此函数根据构架而异,对于ARM构架的详细分析如下: void __init setup_arch(char **cmdli

Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7)【转】

原文地址:Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7) 作者:tekkamanninja  转自:http://blog.chinaunix.net/uid-25909619-id-4938396.html     在基本分析完内核启动流程的之后,还有一个比较重要的初始化函数没有分析,那就是do_basic_setup.在内核init线程中调用了do_basic_setup,这个函数也做了很多内核和驱动的初始化

很好的源码软件列表

很好的源码软件列表,有助于学习提高 Submitted by xyz黑板 on 星期日, 十月 30, 2005 - 14:45 资源 要做软件时,找个类似的软件参考一下,进步最快. 这里是一个开源软件分类列表,分类详尽,可惜我们要用代理访问 http://en.wikipedia.org/wiki/List_of_open-source_software_packages 内容很多,可以点击进评论中有内容的转载,:) Contents 1 Applied fields 123 1.1 CAx

【lLinux驱动】linux内核源码目录结构

linux内核源码目录结构 代码目录结构  在阅读源码之前,还应知道Linux内核源码的整体分布情况.现代的操作系统一般由进程管理.内存管理.文件系统.驱动程序和网络等组成.Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录):  arch目录包括了所有和体系结构相关的核心代码.它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录.PC机一般都基于此目录.  include目录包括编译核

Linux内核源码分析--内核启动之(5)Image内核启动(rest_init函数)(Linux-3.0 ARMv7)【转】

原文地址:Linux内核源码分析--内核启动之(5)Image内核启动(rest_init函数)(Linux-3.0 ARMv7) 作者:tekkamanninja  转自:http://blog.chinaunix.net/uid-25909619-id-4938395.html     前面粗略分析start_kernel函数,此函数中基本上是对内存管理和各子系统的数据结构初始化.在内核初始化函数start_kernel执行到最后,就是调用rest_init函数,这个函数的主要使命就是创建并