一、安装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. java.sql和javax.sql的区别

    根据 JDBC 规范,javax.sql 包中的类和接口首先作为 JDBC 2.0 可选包提供.此可选程序包以前与 J2SE1.2 中的 java.sql 程序包是分开的.从 J2SE1.4 开始,这 ...

  2. gol处理命令行参数 flag

    os.Args获取命令行参数 os.Args是一个srting的切片,用来存储所有的命令行参数 package main import ( "fmt" "os" ...

  3. 文本框字符限制、focus光标定位

    一.为一个元素的所有子元素设置统一样式:.className * { color: #6666 } 二.正则表达式: 1.去除所有HTML标签只保留文字: /<\/?.+?\/?>/2.去 ...

  4. C++进阶-3-6-map/multimap容器

    C++进阶-3-6-map/multimap容器 1 #include<iostream> 2 #include<map> 3 using namespace std; 4 5 ...

  5. 基于DEM的坡度坡向分析

    坡度坡向分析方法 坡度(slope)是地面特定区域高度变化比率的量度.坡度的表示方法有百分比法.度数法.密位法和分数法四种,其中以百分比法和度数法较为常用.本文计算的为坡度百分比数据.如当角度为45度 ...

  6. 思科,华为l2tp组网,家庭宽带,公司内网数据分离

    拓扑 简介 办公网使用专线接入,拥有固定IP地址,网络出口使用防火墙做NAT,下联交换机接入服务器,办公电脑等,旁挂思科路由器做L2TP LNS 家庭宽带使用ADSL线路,华为路由器做拨号设备与DHC ...

  7. 一文带你搞懂 Kafka 的系统架构(深度好文,值得收藏)

    Kafka 简介 Kafka 是一种高吞吐.分布式.基于发布和订阅模型的消息系统,最初是由 LinkedIn 公司采用 Scala 和 java 开发的开源流处理软件平台,目前是 Apache 的开源 ...

  8. [漏洞复现] [Vulhub靶机] OpenSSL Heartbleed Vulnerability (CVE-2014-0160)

    免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 背景知识 传输层安全协议SSL 安全套接字协议SSL(Secure Sockets Layer),及其继任者传输层安 ...

  9. SPFA 最短路算法

    SPFA算法 1.什么是spfa算法? SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环.SPFA一般情况复杂度是O(m)O(m) ...

  10. GraphX 图计算实践之模式匹配抽取特定子图

    本文首发于 Nebula Graph Community 公众号 前言 Nebula Graph 本身提供了高性能的 OLTP 查询可以较好地实现各种实时的查询场景,同时它也提供了基于 Spark G ...