Ubuntu16.04.2 LTS下使用编译安装程序(使用configure、make、 make install)
以安装vim为例。
(vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面)。
1.获取源文件
首先进入/usr/local下(只是为了方便处理安装文件,位置随意)
用git clone下vim的源文件,执行命令:sudo git clone https://github.com/vim/vim.git,也可以使用wget的方式,仅仅是为了获取源文件。
使用命令进入到vim文件夹,ls查看
这些都是vim的源文件。
2.configure命令
configure:是一个shell脚本,它在源文件的根目录中。他的作用是检查你的系统中是否有编译这个程序依赖的其它库之类的东西。
prefix 参数——指定目标安装路径,必须指定,否则不知道默认安装到哪里,不方便以后的管理(类似windows的安装路径)。
命令全文: sudo ./configure --prefix=/usr/local/vimdir ( prefix后的路径随意; 另外 ./configure “./”——表示当前目录,这个是相对路径。)
执行后,可能会遇到问题:
错误提示:no terminal library found
解决方法:
sudo apt-get update
sudo apt-get install libncurses5-dev
安装完terminal library,再重新运行configure脚本,成功!
3.make
make指令最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译的工作。
Makefile:这个文件是按照特定的语法编写的,文件中说明了,如何编译的各个源文件并链接生成可执行文件,并要求定义源文件之间的依赖关系。
简单的说:定义好源文件之间的依赖关系,并编译生成可执行性文件(这里是编译,不是检查)。
完整命令: sudo make
4.make install:
执行安装,在执行configure的时候prefix指定的安装路径也是在此时创建出来的。
完整命令: sudo make install
到此为止,vim就在bin目录下。执行:/usr/local/vimdir/bin/vim下了。
5.ln命令软链接
一般用vim的时候,无论在任何地方输入vim都可以,但是现在就不行。只能到这个/usr/local/vimdir/bin/目录下执行./vim才能执行。
原因:
系统对应的所有的指令目标目录的路径,只有上述的这些,并没有新装的 /usr/local/vimdir/bin,所以当我们在非此目录输入 vim 时,会提示未安装。
解决方法:
建立一个软连接到/usr/bin目录下:
完整命令:
sudo ln -s /usr/local/vimdir/bin/vim /usr/bin/vim
Ubuntu16.04.2 LTS下使用编译安装程序(使用configure、make、 make install)的更多相关文章
- Linux下通过源码编译安装程序(configure/make/make install的作用,然后在/etc/profile文件里修改PATH环境变量)
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
- Linux编译安装程序(使用configure、make、 make install)
以安装vim为例. (vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面). 1.获取源文件 首先进入/usr/local下(只是为了方便处理安装文件,位置随意) 用git ...
- Python在Linux下编译安装报错:Makefile:1141:install
正常情况下执行:./configuremake && make install可以直接安装python,但是在在更新了乌版图后居然报错了!!!检查了一圈,发现乌版图安装了python3 ...
- Ubuntu16.04.2 LTS 64bit系统装机记录
系统环境:Win10 + Ubuntu16.04.2 LTS 64bit(双系统)安装教程:Win10和Ubuntu16.04双系统安装详解(简书)以下为系统安装后所要进行的操作. 一.安装显卡驱动 ...
- ubuntu下boost编译安装
ubuntu下boost编译安装 boost 安装 1.依赖安装 apt-get install mpi-default-dev libicu-dev python-dev python3-dev l ...
- Ubuntu16.04系统美化、常用软件安装等,长期更新
Ubuntu16.04系统美化.常用软件安装等,长期更新 IT之家啊 18-09-0915:00 因为我个人偏向于玩VPS.服务器之类的东西,所以一般我都是用CentOS.不过对于桌面版的Linux, ...
- ubuntu16.04 ROS环境下配置和运行SVO
ubuntu16.04 ROS环境下配置和运行SVO https://blog.csdn.net/nnUyi/article/details/78005552
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- unbutu下wireshark编译安装(已更新)
今天下午在ubuntu下进行编译安装wireshark,过程中出了很多错误,但最终安装成功了,这里写下自己的安装步骤和方法,有参考博文的安装编译方法,也有自己的总结和心得. 1 安装编译工具 $sud ...
随机推荐
- 【sping揭秘】12、SpringAOP的实现机制
SpringAOP的实现机制 设计模式代理模式 参考我之前的代理模式 http://www.cnblogs.com/cutter-point/p/5226642.html 这里写个简单的案例 pack ...
- redhat_6.5下载地址
redhat官方下载(需要注册帐号+订阅/申请试用方可下载) https://access.redhat.com/downloads/ 网络资源:附RHEL 6.5安装文件MD5及SHA-256:一. ...
- MySQL笔记(4)---表
1.前言 上一章记录了MySQL中的一些文件组成,以及相关作用和参数配置,本章开始记录深层次的存储结构,以便更好理解MySQL的设计. 2.索引组织表 InnoDB中,表都是根据主键顺序组织存放的,这 ...
- ThreadLocal是否会引发内存泄露的分析 good
这篇文章,主要解决一下疑惑: 1. ThreadLocal.ThreadLocalMap中提到的弱引用,弱引用究竟会不会被回收? 2. 弱引用什么情况下回收? 3. JAVA的ThreadLocal和 ...
- SpringMVC+FreeMarker+Mybatis 整合
这个项目自己有时写写测试代码什么的, 代码比较简单,代码已放在 github : https://github.com/zhouyongtao/homeinns-web 目录结构: 贴一下Maven的 ...
- 详解C#特性和反射(二)
使用反射(Reflection)使得程序在运行过程中可以动态的获取对象或类型的类型信息,然后调用该类型的方法和构造函数,或访问和修改该类型的字段和属性:可以通过晚期绑定技术动态的创建类型的实例:可以获 ...
- 使用Codis-Admin命令配置环境
前提条件:由于22.35.60服务器各自配置了Codis-Service主机,所以22.35.60对应的ip和端口要求能通信和互信访问,为下面通过60的dashboard配置22.35.60实现分组. ...
- 第一章 Java Web工作原理
一:在本章我们将学到如下的内容 >HTTP协议原理 >服务器端Web编程原理 >Servlet与Web容器 >Java Web应用程序的组成 >Tomcat介绍 一:1. ...
- gitlab之gitlab-ci和gitlab-runner<一>
一.概述 gitlab是开源代码托管软件,有ce和ee两种版本,一般情况下ce完全能满足企业使用,如果不差钱可以使用ee版本,这里使用的是ce版.之前也一直在做CI/CD,最开始采用gitlab+we ...
- 【LeetCode题解】232_用栈实现队列(Implement-Queue-using-Stacks)
目录 描述 解法一:在一个栈中维持所有元素的出队顺序 思路 入队(push) 出队(pop) 查看队首(peek) 是否为空(empty) Java 实现 Python 实现 解法二:一个栈入,一个栈 ...