一、安装cmake

1、下载cmale

下载地址:https://cmake.org/files

tar -zxvf cmake-3.19.8.tar.gz
cd cmake-3.19.8/
./configure --prefix=$HOME/anyDirectory

其中$HOME是指向你该用户的root路径
没有sudo权限,cannot find openssl; install cmake cannot find openssl, without sudo
修改CMakeLists.txt,在其中添加set(CMAKE_USE_OPENSSL OFF),可以直接添加到文件首行, 这里具体位置应该没有要求。用于解决没有openssl的问题

2、安装编译  

make
make install

3、设置环境变量

vim ~/.bashrc
export PATH="$HOME/anyDirectory/bin:$PATH"
source ~/.bashrc

4、检查

cmake --version

二、安装gcc

目前,GCC可用于编译C/C、FORTRAN、JAVA、OBJC和ADA等语言的程序,并可根据需要选择支持安装的语言。
我安装的是另一个目录下,如果以后想卸载,直接删除那个目录就可以了。
1、下载安装包
gcc有三个依赖软件包:gmp、mpfr、mpc也需要安装。
gcc下载地址:http://ftp.gnu.org/gnu/gcc/
GMP下载地址:https://ftp.gnu.org/gnu/gmp/
mpfr下载地址:https://ftp.gnu.org/gnu/mpfr/
mpc下载地址:https://ftp.gnu.org/gnu/mpc/

2、安装依赖包

i、安装GMP

tar -jxvf gmp-6.2.0.tar.bz2
cd gmp-6.2.0/
./configure --prefix=/BIGDATA2/nscc_sci_1/xujb/gmp-6.2
make
make install

mpfr和mpc的安装过程也是一样的,但在安装过程中必须添加依赖关系

ii、安装mpfr

tar -zxvf mpfr-4.1.0.tar.gz
cd mpfr-4.1.0/
./configure --prefix=/BIGDATA2/nscc_sci_1/xujb/mpfr-4.1 \
--with-gmp=/BIGDATA2/nscc_sci_1/xujb/gmp-6.2
make
make install

iii、安装mpc

tar -zxvf mpc-1.2.0.tar.gz
cd mpc-1.2.0/
./configure --prefix=/BIGDATA2/nscc_sci_1/xujb/mpc-1.2 \
--with-gmp=/BIGDATA2/nscc_sci_1/xujb/gmp-6.2 \
--with-mpfr=/BIGDATA2/nscc_sci_1/xujb/mpfr-4.1
make
make installs

3、安装gcc

./configure --prefix=/BIGDATA2/nscc_sci_1/xujb/gcc \ 
--with-gmp=/BIGDATA2/nscc_sci_1/xujb/gmp-6.2 \
--with-mpfr=/BIGDATA2/nscc_sci_1/xujb/mpfr-4.1 \
--with-mpc=/BIGDATA2/nscc_sci_1/xujb/mpc-1.2 \
-enable-languages=c,c++ \
-disable-multilib

记得加上后面三个依赖项,否则会出刚开始出现的错误的。然后安装
------------------make的时间比较长------------------

make
make install 

4、解决错误


https://altlinux.pkgs.org/p10/classic-x86_64/libmpfr6-4.1.0-alt1.x86_64.rpm.html 

 到那个位置

cp libmpfr.so.6.1.0 libmpfr.so.6 

5、添加环境变量

vim ~/.bashrc
export PATH=/BIGDATA2/nscc_sci_1/xujb/gcc/bin:$PATH
source ~/.bashrc

6、查看gcc版本,确定是否安装成功

gcc --version

7、库路径的设置

将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,例如,如果GCC 4.3.4安装在/usr/local/gcc-4.3.4目录下,在RH Linux下可以直接在命令行上执行

export LD_LIBRARY_PATH=/usr/local/gcc-4.3.4/lib 

最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了,在文件$HOME/.bash_profile中添加下面两句:

LD_LIBRARY_PATH=:/usr/local/mpc-1.0.2/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.2/lib:/usr/local/gcc-4.3.4/lib
export LD_LIBRARY_PATH 

或者在/etc/bash_profile 下添加。
重启系统设置生效,或者执行命令

source $HOME/.bash_profile
或者:
source /etc/bash_profile

非root源码安装gcc和cmake的更多相关文章

  1. linux下无root源码安装软件

    先进入源码文件夹下指定安装路径 ./configure --prefix=/public/home/ztu/usr/samtools 编译 make 安装 make install 写入环境变量 vi ...

  2. CentOS 6.5 MySQL5.6.26源码安装

    一.源码安装cmake工具 从mysql5.5起,mysql源码安装开始使用cmake wget http://cmake.org/files/v3.2/cmake-3.2.3.tar.gztar z ...

  3. Linux下源码安装MySQL-5.6.25

    从mysql-5.5起,mysql源码安装开始使用cmake了,因此我们得先安装cmake,配置安装目录./configure --perfix=/.....的时候和以前的会有些区别. 一.安装cma ...

  4. CentOS7源码安装Redis5.0.4非关系型数据库

    源码安装redis-5.0.4 一. 下载redis 1. 需要连接网络 二. 案例(另一种安装方法) [root@localhost ~]# wget http://download.redis.i ...

  5. Centos 6.5升级gcc : 源码安装 + rpm安装

    1. 前言 采用Centos 6.5默认的gcc版本为4.4.7,不支持c++ 11,需要升级: 首先想到用yum命令:执行yum update gcc-c++或yum update g++ 显示没有 ...

  6. mysql 5.7.18 源码安装笔记

    之所以贴出这样一篇笔记呢?主要是因为很久之前,源码安装MySQL的时候,碰到了太多太多的坎坷. 如果你有兴趣进行源码安装,那么请不要以这篇文章为标准,因为每个人的及其环境等其他因素还是差距比较大的. ...

  7. mysql 在cento下源码安装

    虚拟机改为网络地址转换 (NAT) service network restartping www.baidu.com rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm ...

  8. CentOS 7下源码安装MySQL 5.6

    本文转载,并非原创. 目录 准备工作 运行环境 确认你的安装版本 下载MySQL 安装MySQL 准备安装环境 编译和安装 配置MySQL 单实例配置 单实例配置方法 添加防火墙 启动MySQL 重启 ...

  9. Mysql5.5源码安装步骤笔记记录

    1.cmake软件的安装wget https://cmake.org/files/v3.5/cmake-3.5.0-rc3.tar.gztar xf cmake-3.5.0.tar.gzcd cmak ...

随机推荐

  1. 跟我学Python图像处理丨获取图像属性、兴趣ROI区域及通道处理

    摘要:本篇文章主要讲解Python调用OpenCV获取图像属性,截取感兴趣ROI区域,处理图像通道. 本文分享自华为云社区<[Python图像处理] 三.获取图像属性.兴趣ROI区域及通道处理 ...

  2. BottomNavigationView点击刷新问题

    BottomNavigationView点击刷新问题 问题: 项目中使用了BottomNavigationView作为底部导航栏. 点击item切换的时候发现会有闪烁现象出现. 原因: BottomN ...

  3. redis 2 主从和哨兵

    主从: 概念:将一台redis服务器数据复制到其他redis服务器,前者是master,后者是slave.数据复制是单向,从主节点复制到从节点.master以写为主,slave以读为主一个zhu主节点 ...

  4. MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中

    union 会删除重复数据 union all 不会删除重复数据 select * from ( select *,'a' as kind from tablea where name is not ...

  5. 网络:Tor

    洋葱路由催生了暗网的产生 1995年,美国海军研究实验室的科学家开始开发一套匿名系统,可以避免人们在互联网上的行迹被追 踪到.由于在该系统中,数据被层层密码保护,这个技术被称为叫作"洋葱路由 ...

  6. 1.0 vue开篇之作

    vue官网链接:https://cn.vuejs.org/ 一. vue简介 vue目前分为2.X版和3.X版,本文以2.X版为准,后续会更新3.X版本相关教程,建议从2.X版开始学起,因为此版本经过 ...

  7. C# 通关手册(持续更新......)

    String 常用静态方法 string.Compare(string str1,string str2,bool ignoreCase) 按照字典顺序比较字符串 当str1 > str2时,返 ...

  8. Oceanbase读写分离方案探索与优化

    [作者] 许金柱,携程资深DBA,专注于分布式数据库研究及运维. 台枫,携程高级DBA,主要负责MySQL和OceanBase的运维. [前言]    读写分离,是一种将数据库的查询操作和写入操作分离 ...

  9. 声学感知刻度(mel scale、Bark scale、ERB)与声学特征提取(MFCC、BFCC、GFCC)

    梅尔刻度 梅尔刻度(Mel scale)是一种由听众判断不同频率 音高(pitch)彼此相等的感知刻度,表示人耳对等距音高(pitch)变化的感知.mel 刻度和正常频率(Hz)之间的参考点是将1 k ...

  10. Python <算法思想集结>之抽丝剥茧聊动态规划

    1. 概述 动态规划算法应用非常之广泛. 对于算法学习者而言,不跨过动态规划这道门,不算真正了解算法. 初接触动态规划者,理解其思想精髓会存在一定的难度,本文将通过一个案例,抽丝剥茧般和大家聊聊动态规 ...