一、安装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. Linux磁盘空间查看及空间满的处理

    问题 在部署应用到测试环境的时候,有些文件同步出错,最后定位到测试服务器空间满了. 解决 查看磁盘空间还剩多少空间 df -h 查看根目录下每个目录占用空间大小 du --max-depth=1 -h ...

  2. Spring-Batch将CSV文件转为XML文件

    1 介绍 用Spring Batch实现一个简单的需求,将csv文件转换成xml文件. csv文件如下:record.csv username, user_id, transaction_date, ...

  3. RapidIO 逻辑层IO操作与Message操作的原理和区别

    接上一篇 SRIO RapidIO (SRIO)协议介绍(一) 1     说明 查看协议手册时会发现,逻辑层的操作分成了IO和Message 2类动作,那么为什么要分成2类操作?从原理和应用角度来看 ...

  4. 推荐一款新框架PyScript:在 HTML 嵌入 Python 代码!

    一.介绍 网页浏览器是目前世界上最普遍,最可携的计算机环境.几乎所有人都可以在计算机或是手机上使用网页浏览器,以没有基础设施障碍的方式访问程序. 在 PyCon US 2022 上,知名 Python ...

  5. swiper使用

    swiper使用 初始化 var mySwiper = new Swiper ('容器区域类', { // 存放swiper属性 }) 属性 基本属性: 1.initialSlide 设定初始化时sl ...

  6. 记一次生产事故的排查与优化——Java服务假死

    一.现象 在服务器上通过curl命令调用一个Java服务的查询接口,半天没有任何响应.关于该服务的基本功能如下: 1.该服务是一个后台刷新指示器的服务,即该服务会将用户需要的指示器数据提前计算好,放入 ...

  7. 在windows下使用s3cmd和s3browser来管理amazon s3的笔记

    S3是Amazon S3的简称,s3cmd是一款命令行工具用来管理s3,同时还有一款图形化的管理工具:s3 browser. 因为绝大多数用户都是在linux下管理s3,而我们的打包机是在window ...

  8. Scalable Multi-Party Private Set-Intersection-解读

    本文记录阅读该paper的笔记. 摘要 本文给出两种MPSI协议,采用的是星型拓扑结构,即有一个leader,需要和其他参与者交互.优点是并非所有各方都必须同时在线: (1)能抗半诚实攻击 通信复杂度 ...

  9. java基础题(3)

    5.面向对象 5.1封装 5.1.1修改Data类的定义 描述 现有一个Data类,内部定义了属性x和y,在main方法中实例化了Data类,并计算了data对象中x和y的和.但是,Data类的定义存 ...

  10. Kafka 负载均衡在 vivo 的落地实践

    ​vivo 互联网服务器团队-You Shuo 副本迁移是Kafka最高频的操作,对于一个拥有几十万个副本的集群,通过人工去完成副本迁移是一件很困难的事情.Cruise Control作为Kafka的 ...