Linux 下源码安装大杂烩
本文仅以记录平常源码安装部分软件是需注意的关键点。
有时为了方便,如在 Ubuntu 系统中,采用 sudo apt-get install soft-version 来安装某一版本的软件显得更为便捷和少出错。
Python 升级
关于 Python 源码安装教程很多,如博文linux下python开发环境之一——安装python。
在 CentOS 6.5,Python 版本是 2.6,而且通过 yum 并不能升级,所以我们只能通过源码升级。其中值得注意的几点是:
1. 新版本 Python 的安装目录
有好多软件会调用到 Python,如 yum 就是用 Python 写的、YouCompletMe 也用到了 Python 库,所以我们可以将其安装在 /usr,方便后续使用:
...source code/build
../configure --prefix=/usr
2. 安装完 Python 后,我们会发现 /usr/bin 下的 python 已经指向了新版本的 Python,如下图:

但 yum 软件就出问题了(There was a problem importing one of the Python modules required to run yum. ...),但我们可以将 /etc/bin/yum 的第一行
!/usr/bin/python
改为
!/usr/bin/python2.
这样就没问题了。
存在多个版本的问题可以参考 GCC 源码安装部分的解决方法。
GCC 源码安装
博文在CentOS下编译安装GCC很不错,简明扼要。这篇文章跟其他教程不一样之处在于它指出了如何利用 GCC 源码自带 SHELL 脚本下载对应的依赖库:
cd gcc-top-dir
./contrib/download_prerequisites # download mpc/mpfr/gmp
另外,我们还可以让系统共存多个 GCC 版本,具体方法见下文(也可参考 StackExchange 上的一个问答)。
现在系统中已经存在 3 个版本的 GCC (gcc && g++-4.7、gcc && g++-4.9、gcc && g++-5),如下图:


此时,默认的 gcc && g++ 指向 gcc-5 && g++-5。接下来,我们可以配置,让 gcc && g++ 指向另外的版本:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-
其中 47、49、50 表示的是优先级,数字越大优先级越高,所以通过这样的设置后,gcc && g++ 默认指向的还是 gcc-5 && g++-5。那我们怎么让 gcc && g++ 指向其他版本呢?具体方法如下:
sudo update-alternatives --config gcc

通过这样方法,同样可以将 g++ 改为指向 g++-4.7。
LLVM-CLANG 源码安装
官方有文档 Getting Started with the LLVM System 专门讲述如何安装 LLVM-CLANG。官方文档中推荐的生成 Makefile 的方法是用 cmake;如果我们习惯于使用 autotools,我们可以参考官方提供的另一文档 Building LLVM with Autotools。
Linux 下源码安装大杂烩的更多相关文章
- linux下源码安装netcat
linux下源码安装netcat http://blog.chinaunix.net/uid-20783755-id-4211230.html 1,下载netcat源码,netcat-0.7.1-13 ...
- linux下源码安装软件
在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包 ...
- Linux下源码安装方式安装MySQL
1.下载安装包:https://downloads.mysql.com/archives/community/ 2.安装开发工具和安装包 因为要把源码编译成二进制数据,所以必须要有编译器和解释器 g ...
- linux下源码安装apache服务
1.搭建静态网站是,我们只需要搭建apache服务即可满足要求. 例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器.apache他 ...
- linux下源码安装rabbitMq
一.安装erlang前期环境安装1.利用yum安装erlang编译所依赖的环境 yum -y install make gcc gcc-c++ kernel-devel m4ncurses-devel ...
- Linux下源码安装MySQL-5.6.25
从mysql-5.5起,mysql源码安装开始使用cmake了,因此我们得先安装cmake,配置安装目录./configure --perfix=/.....的时候和以前的会有些区别. 一.安装cma ...
- Linux下源码安装JDK7
安装说明 安装环境:Red Hat Enterprise Linux7.1安装方式:源码安装 软件:jdk-7u80-linux-x64.gz 安装 #首先查看系统原有JDK信息 rpm -qa | ...
- linux下源码安装
●源码的安装(./configure –prefix 命令用法)一般由3个步骤组成:配置(configure).编译(make).安装(make install). Configure是一个可执行脚本 ...
- linux下源码安装jdk1.8和tomcat8.5
Java是目前可移植性较高的语言,相当火热,tomcat运行就需要Java语言环境 0.java简介 1)tomcat运行需要对应的Java环境,Java环境通过安装jdk来获得2)为了防止兼容性问题 ...
随机推荐
- 酷伯伯实时免费HTTP代理ip爬取(端口图片显示+document.write)
分析 打开页面http://www.coobobo.com/free-http-proxy/,端口数字一看就不对劲,老规律ctrl+shift+c选一下: 这就很悲剧了,端口数字都是用图片显示的: 不 ...
- JavaScript for 循环
循环可以将代码块执行指定的次数. JavaScript 循环 如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的. 我们可以这样输出数组的值: 一般写法: documen ...
- Android 学习笔记二 自定义按钮形状 颜色 点击渐变
问题:自定义按钮的颜色 形状弧度 渐变效果 1.新建自定义属性button_login.xml (借鉴某大神) <?xml version="1.0" encoding=& ...
- AbstractQueuedSynchronizer 原理分析 - 独占/共享模式
1.简介 AbstractQueuedSynchronizer (抽象队列同步器,以下简称 AQS)出现在 JDK 1.5 中,由大师 Doug Lea 所创作.AQS 是很多同步器的基础框架,比如 ...
- hive中的NULL(hive空值处理)
HIVE表中默认将NULL存为\N,可查看表的源文件(hadoop fs -cat或者hadoop fs -text),文件中存储大量\N, 这样造成浪费大量空间.而且用java.python直接进入 ...
- mvn管理项目jar包
Maven是一个采用纯Java编写的开 源项目管理工具.Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xm ...
- Combiners和Partitioner编程
Combiners的作用: 每一个map可能会产生大量的输出,combiner的作用就是在map端对输出先做一次合并,以减少传输到reducer的数据量. combiner最基本是实现本地key的归并 ...
- EventBus详解
EventBus详解 简介 github原文 EventBus... * simplifies the communication between components - decouples eve ...
- Android7.0 多窗口你值得拥有
Android7.0 多窗口你值得拥有 什么是多窗口分屏? 多窗口分屏其实在国内并不陌生,已经有一些手机和平板搭载了"分屏多任务"和"APP窗口化"功能,但这些 ...
- 2.Cocos2d-x-3.2编写3d打飞机,项目代码总结
1.AppDelete中applicationDidFinishLaunching代码示范 2.当电话来了时,停止恢复游戏声音的代码(在AppDelegate中加入下面代码) boolAppDel ...