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)为了防止兼容性问题 ...
随机推荐
- 学习笔记:Zookeeper 应用案例(上下线动态感知)
1.Zookeeper 应用案例(上下线动态感知) 8.1 案例1--服务器上下线动态感知 8.1.1 需求描述 某分布式系统中,主节点可以有多台,可以动态上下线 任意一台客户端都能实时感知到主节点服 ...
- iOS 中的类属性
转自:iOS 知识小集 从Xcode 8开始,LLVM已经支持Objective-C显式声明类属性了,这是为了与Swift中的类属性互操作而引入的.在WWDC 2016 What's New in L ...
- How to kill a particular user terminal on Linux
Intro. Sometimes, the application we launched from command promp failed to exit. What we require is ...
- 微信小程序基础之试图控件View、ScrollView、Swiper
今天写一篇关于微信小程序视图控件的文章,主要是介绍界面的搭建和部分操作js交互功能的介绍,转载请注明出处,谢谢~ 首先显示首页结构.创建三个navigator,用来跳转页面: <!--index ...
- Android在一个TextView里显示不同样式的字体
在同一个TextView里显示不同样式的字体 public void setSpan(Object what, int start, int end, int flags); 样式1:背景色.粗体.字 ...
- 最优化方法:范数和规则化regularization
http://blog.csdn.net/pipisorry/article/details/52108040 范数规则化 机器学习中出现的非常频繁的问题有:过拟合与规则化.先简单的来理解下常用的L0 ...
- Java并发框架——AQS之原子性如何保证?
在研究AQS框架时,会发现这个类很多地方都使用了CAS操作,在并发实现中CAS操作必须具备原子性,而且是硬件级别的原子性,java被隔离在硬件之上,明显力不从心,这时为了能直接操作操作系统层面,肯定要 ...
- 小小聊天室 Python实现
相对于Java方式的聊天室,Python同样可以做得到.而且可以做的更加的优雅.想必少了那么多的各种流的Python Socket,你一定会喜欢的. 至于知识点相关的内容,这里就不多说了. UDP方式 ...
- [ExtJS5学习笔记]第二十五节 利用window.open()函数实现ExtJS5的登陆页面跳转
本文地址:http://blog.csdn.net/sushengmiyan/article/details/40427543 mvvm方式实现登陆的博客:http://blog.csdn.net/s ...
- Android状态栏透明(沉浸式效果)
Android状态栏透明(沉浸式效果) 默认效果 沉浸式效果 方式一 源码 下载地址(Android Studio工程):http://download.csdn.net/detail/q487880 ...