进行科学计算时,有时会用到R语言作为辅助(计算模块非常多)
但由于服务器版本的R语言版本太老(很多包装不上),自身又没有sudo权限或者root账号,因此选择在本地账号下进行R语言的安装

1.下载并解压缩包
wget https://cran.r-project.org/src/base/R-3/R-3.4.4.tar.gz
tar xavf R-3.4.4.tar.gz
cd R-3.4.4.tar.gz
2.配置编译
./configure --enable-R-shlib --with-readline=yes --with-libpng=yes --with-blas --prefix=/your/path

命令解释:其中

  • –enable-R-shlib表示生成libR.so库,这个当需要进行gcc等编译的时候很重要
  • –with-readline=yes表示用于R shell条件下的调试优化,建议加上
  • –with-libpng=yes表示可导出png图片
  • –with-blas表示优化R运算并生成libRblas.so库
  • –prefix保证最后能完整安装,否则make install会去安装到/usr/lib文件夹下,非root用户没有权限
3.缺失依赖的更新

当系统所需软件不全或版本过低时,依然会报错,一般常见的报错是缺少bzip2, zlib, pcre, curl, xz等
一般方法只要安装以后,将软件头文件,动态链接库文件,可执行文件路径加入编译路径即可,但其中有几个注意点

  • bzip2安装
修改Makefile文件
CC=gcc 改为
CC=gcc -fPIC之后再进行
make
make install -prefix=/your/path
  • pcre安装
直接安装后,配置R报错
checking pcre/pcre.h usability... no
checking pcre/pcre.h presence... no
checking for pcre/pcre.h... no
checking if PCRE version >= 8.20, < 10.0 and has UTF-8 support... no
checking whether PCRE support suffices... configure: error: pcre >= 8.20 library and headers are required因此安装pcre时,编译有特殊要求
./configure --enable-utf8 --enable-unicode-properties --prefix=/your/path
  • 环境变量
    一开始设置LD_LIBRARY_PATH, C_INCLUDE_PATH, CPLUS_INCLUDE_PATH 但不起作用
    原因是

C_INCLUDE_PATH(for C header files)和CPLUS_INCLUDE_PATH(for C++ header files)的环境变量是指明头文件的搜索路径,此两个环境变量指明的头文件会在-I指定路径之后,系统默认路径之前进行搜索。LIBRARY_PATH指明库搜索路径,此环境变量指明路径会在-L指定路径之后,系统默认路径之前被搜索。
因此只有通过 -L -I参数加入,才能覆盖系统默认路径

4.最后编译
./configure --prefix=/your/path  --enable-R-shlib  --with-readline=yes --with-libpng=yes --with-blas  LDFLAGS="-L/your/path/lib" CPPFLAGS="-I/your/path/include"

即可顺利完成

Linux 环境下 R 语言的配置和安装相关推荐

  1. c语言Linux用线程创建文件,Linux环境下C语言线程创建---简单代码

    在Linux环境下用C语言编写线程创建. //file name: pthreadtext.c #include #include //线程头文件 //pthread不是linux下的默认的库,也就是 ...

  2. Linux环境下——C语言聊天室项目

    由于使用了多线程操作,客户端进入程序后请先随便注册一次用户后再进行使用. 本程序默认第一个用户即ID为1的用户为超级管理员. 由于线程阻塞,最后的踢人操作有阻塞,需要在被踢出在线链表后手动下线. 看了 ...

  3. osg linux 环境配置,Linux环境下jdk1.8的下载与安装

    Linux环境下jdk1.8的下载与安装 1.下载 Oracle官网下载相应的版本,官网地址:https://www.oracle.com/java/technologies/javase/javas ...

  4. linux环境下c语言的学习--linux下的基本操作

    linux环境下c语言学习 星期一 _代表空格 1.在linux下打开一个终端:ctrl+alt+t       多次使用可打开多个终端. 2.创建一个文件夹:mkdir_ abc           ...

  5. linux贪吃蛇c程序,Linux环境下C语言实现贪吃蛇游戏

    Linux环境下C语言实现贪吃蛇游戏 [liul@test snake]$ more snake.c #include #include #include #include #include #def ...

  6. 南工程c语言实验报告,Linux环境下-C语言编程实验报告(1)(总4页).doc

    Linux环境下-C语言编程实验报告(1)(总4页).doc 西 安 邮 电 大 学 (计算机学院)课内实验报告实验名称 Linux环境下 C语言编程 专业名称 网络工程班 级 1203班 学生姓名 ...

  7. linux环境c语言课程设计,linux环境下c语言编程课程设计

    linux环境下c语言编程课程设计 (14页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 1/14LINUX操作系统教程课程设计题目算术 ...

  8. Anaconda 环境下 R 包 ggraph_1.0.2 安装小记

    由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接. 记录一下今天在 Anaconda3 环境下 R==3.4.3 中安装 ggraph 的一些问题 ...

  9. Linux 环境下php5.6,如何正确安装微软Mssql驱动--详细教程

    Linux 环境下,如何正确安装微软Mssql驱动 近日,由于公司业务的需要,需要用到PHP连接一个客户的Mssql服务器.于是,开始一番折腾之路.Baidu与Google之后,发现,网上说的各种方法 ...

最新文章

  1. SDK开发日积月累(二)
  2. 如何在VS一个工程里面测试不同代码?(创建不同项目,并将需要运行的项目设为启动项目)
  3. html 属于mvvm框架,mvvm模式和mvc的区别是什么?
  4. Linux双网卡绑定实现
  5. new java.util.date_java.util.Date的替代品
  6. 重写了GVBASIC模拟器
  7. 有些事,我们逃不掉。有些事,我们逃不掉。
  8. 【旅行商问题】基于matlab免疫算法求解旅行商问题【含Matlab源码 195期】
  9. TensorFlow进阶:CNN对CIFAR10图像分类
  10. 【进阶版】 机器学习之强化学习、蒙特卡罗、AlphaGo原理浅析(22)
  11. 业务与信令-第6章VoLTE信令
  12. [计算机网络]七、IP地址规划和静态路由
  13. audio接线图解_拒绝做小白 你应该知道的常见音频接口
  14. Nopcommerce kendo UI Roxy Fileman控件的汉化
  15. 【千峰网安学习】利用PE破解系统密码
  16. Java串口编程控制硬件
  17. 基于TI Sitara系列AM437x ARM Cortex-A9核心板 处理器
  18. My Notes Keeper 注册码算法注册机
  19. 浅谈python深拷贝和浅拷贝
  20. Mindspore | lenet 模型代码

热门文章

  1. Censor(KMP)
  2. 城乡供水一体化平台-助力乡村振兴建设
  3. 基于大数据应用探索“互联网+卷烟市场监管”新模式
  4. 搭建webassembly网页播放器(三)---emcc编译ffmpeg编译库
  5. 如何做好流程管理?6条建议送给你!
  6. 关于数组的对象获取及排序问题/小程序的多层页面返回问题
  7. (STITP)jotm-btp的改进(一)
  8. mysql南京廖化_MySQL上机试题
  9. 实践课成果展示 | 智能车辆管理系统
  10. 微信小游戏MagnetGame开发(十)游戏音效