Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用选项-std=c99安装R包

如何使用选项-std=c99安装R包
EN

Stack Overflow用户
提问于 2016-02-04 10:19:36
回答 4查看 3.5K关注 0票数 10

我在安装plyr R包时遇到问题,并得到以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Installing package into '/home/mousavian/R/x86_64-pc-linux-gnu-library/3.2'
(as 'lib' is unspecified)
* installing *source* package 'plyr' ...
** package 'plyr' successfully unpacked and MD5 sums checked
** libs
g++ -I/share/apps/R/lib64/R/include -DNDEBUG  -I/usr/local/include -I"/home/mousavian/R/x86_64-pc-linux-gnu-library/3.2/Rcpp/include"   -fpic  -g -O2  -c RcppExports.cpp -o RcppExports.o
gcc -I/share/apps/R/lib64/R/include -DNDEBUG  -I/usr/local/include -I"/home/mousavian/R/x86_64-pc-linux-gnu-library/3.2/Rcpp/include"   -fpic  -g -O2  -c loop_apply.c -o loop_apply.o
loop_apply.c: In function 'loop_apply':
loop_apply.c:15:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
   for(int i = 0; i < n1; i++) {
   ^
loop_apply.c:15:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
make: *** [loop_apply.o] Error 1
ERROR: compilation failed for package 'plyr'
* removing '/home/mousavian/R/x86_64-pc-linux-gnu-library/3.2/plyr'
Warning message:
In install.packages("R packages/plyr_1.8.3.tar.gz", repos = NULL) :
  installation of package 'R packages/plyr_1.8.3.tar.gz' had non-zero exit status

尝试通过install.packages命令从源安装R包时,如何使用-std=c99选项?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2018-07-28 02:18:04

先试用C11

编译器错误告诉您选择C99C11。因此,除非您有意编译遗留代码,否则请先尝试C11。如果遗留的C99不起作用,您可以随时尝试它。

使用withr::with_makevars

对于不直接从源代码编译的每个包,编辑单独的包Makevars或协调对include/lib目录的全局更改不是未来的好策略。别干那事!编辑R的make配置的一个很好的替代方法是使用withr::with_makevars仅针对安装命令操作Makevars

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(withr)

with_makevars(c(PKG_CFLAGS = "-std=c11"), 
              install.packages("plyr", repos = NULL, type = "source"), 
              assignment = "+=")

另外,您可能已经安装了withr,因为它是一个devtools依赖项。

票数 14
EN

Stack Overflow用户

发布于 2016-02-04 10:23:46

如果不存在,请在您的$HOME (在本例中为/home/mousavian/.R)中创建一个目录。在内部,创建一个Makevars文件(无扩展名)。使用您喜欢的编辑器编辑此文件,并编写:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CC = gcc -std=c99

然后,保存它,在启动R之后,只需运行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
install.packages("plyr", dependencies = TRUE)

它应该使用gcc -std=c99进行编译。

票数 8
EN

Stack Overflow用户

发布于 2017-01-01 20:47:39

默认的/etc/R/Makeconf包括CC = gcc -std=gnu99 (R 3.3.2和可能最新的或所有其他最新版本,尽管我认为正在开发的版本会跳到21世纪)

公认的答案可能会很好地工作,但不是R的默认设置。如果不使用其他选项设置CC=gcc,则会删除此默认值,这也是出现此错误的另一个原因。最好不要使用默认值,除非你知道自己在做什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35198301

复制
相关文章
ruby学习笔记(11)--symbol与hash参数
symbol是啥就不深入的讨论了,只简单说说symbol的好处 ruby内部对于每个对象,都会有一个数字id用来标识并区分,可以用xxx.object_id来查看 puts "0001".object_id puts "0001".object_id puts "0001".object_id puts "0001".object_id 输出结果类似如下: 32088750 32088730 32088710 32088690 可以发现即使是同样内容的字符串"0001",在ruby解释器内部每次也
菩提树下的杨过
2018/01/22
1K0
hash冲突以及hash冲突的解决方法
首先说一下hash冲突吧,hash冲突在hash表中一般情况下是会遇到的; hash冲突指的是你在向hash表中存数据时,首先要通过key值进行指定的hash算法进行计算,然后得到一个值,这个值就是你要将这个key对应的value存入的地址。但是在这个地址中已经有值存在,所以这个时候就发生了hash冲突,不同的key通过hash算法得到了对应的同一个值。
全栈程序员站长
2022/11/07
1.2K0
解决hash冲突的几种方法_hashmap hash冲突
hash函数 首先来说hash函数,java中对象都已一个hashCode() 方法,那为什么还需要hash函数呢?hashCode是在jdk中是有符号int类型,这个一个很大的范围,如果散列表的数组能覆盖所有int值的话,就不需要hash函数了,当然内存不允许我们维护这么大的散列表。这时我们需要hash函数将原始hashCode映射到一个很小的数组上去。 常见的做法是取模法,也是jdk中的实现方式。
全栈程序员站长
2022/09/28
8280
解决hash冲突的几种方法_hashmap hash冲突
递归方法
  递归是指函数直接或间接调用自身的一种编程方法。调用的过程就是“递”,返回的过程就是归。基本上, 所有的递归问题都可以用递推公式来表示。
全栈程序员站长
2022/09/06
3380
递归方法的理解
递归思想算是编程中比较常见但对初学者而言又有些难以理解的方法了。在leetcode上刷了几道题都用递归思想成功解决后觉得应该贯彻互联网的开源共享精神,总结一下自己的爬坑经历了
我爱自然语言处理
2018/05/26
1.1K0
递归方法的理解
hash冲突解决方法
(2)拉链法中的链表上的节点空间是动态申请的,更适合于创造表之前无法确定表长的情况
2019/05/07
1.4K0
ddEntry(hash, key, value, i)方法根据计算出的hash值
ddEntry(hash, key, value, i)方法根据计算出的hash值,将key-value对放在数组table的i索引处。addEntry 是 HashMap 提供的一个包访问权限的方法(就是没有public,protected,private这三个访问权限修饰词修饰,为默认的访问权限,用default表示,但在代码中没有这个default),代码如下:
用户7365393
2021/10/07
7190
Ruby学习笔记之升级ruby的版本
升级ruby版本,有时候安装ruby的版本过低,需要进行升级,例如安装在centos6.7安装fpm需要ruby版本在1.9以上。
Jetpropelledsnake21
2019/04/25
3.2K0
vue的hash路由微信授权方法
示例代码: klren0312/wechatVueHash (github.com)
治电小白菜
2021/12/14
2.6K1
vue的hash路由微信授权方法
当使用vue的hash路由时, 微信授权重定向到前端时, 会把路由放到url最后, 例如
治电小白菜
2021/12/17
2.8K2
vue的hash路由微信授权方法
java 递归方法卡住_递归算法怎么理解
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
9320
Ruby执行shell命令的六种方法
在Ruby中,执行shell命令是一件不奇怪的事情,Ruby提供了大概6种方法供开发者进行实现。这些方法都很简单,本文将具体介绍一下如何在Ruby脚本中进行调用终端命令。
技术小黑屋
2018/09/04
3.3K0
Java递归方法求100的阶乘
//求100! import java.math.BigInteger; public class GetFactorial { public static void main(String[] args) { System.out.println(mul(new BigInteger("100")).toString()); } public static BigInteger mul(BigInteger i) { if (i.intValue() > 1) { Integer
yangjiao
2021/03/04
1.8K0
Java方法的嵌套与递归调用
方法嵌套的概念其实比较好理解,就是在调用方法的过程中又遇到了方法的调用,在刚开始接触的时候虽然在逻辑上能够理解为什么运行结果是这样的,但是对于代码执行的过程还是感觉有些绕。
一头小山猪
2020/04/08
2.5K0
Java方法的嵌套与递归调用
导出域内用户hash的几种方法
在渗透测试期间,可以利用域管权限对域内用户hash进行导出和破解。这些域内用户hash存储在域控制器(NTDS.DIT)中的数据库文件中,并带有一些其他信息,如组成员身份和用户。
Jumbo
2018/07/26
5K0
导出域内用户hash的几种方法
Ruby设计模式透析之 —— 模板方法(Template Method)
Java设计模式透析之 —— 模版方法(Template Method) 今天你还是像往常一样来上班,一如既往地开始了你的编程工作。 项目经理告诉你,今天想在服务器端增加一个新功能,希望写一个方法,
用户1158055
2018/01/05
8730
Ruby设计模式透析之 —— 模板方法(Template Method)
Ruby Programming | 连载 03 - Ruby 对象基础
Ruby 中所有的数据结构和值都是对象,包括基本的数字和字符串以及数组 Array、散列表 Hash 这样的复杂数据结构。
RiemannHypothesis
2022/10/05
2K0
Ruby Programming | 连载 03 - Ruby 对象基础
为什么说二叉树遍历用递归的方法不如非递归方法?
作者:find goo 链接:https://www.zhihu.com/question/24976589/answer/128338947 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
九州暮云
2019/08/21
1K0
Windows - Hash散列值抓取方法
LM Hash(LAN Manager Hash)其本质是 DES 加密。在 Windows 2008 及开始之后默认禁用的是 LM Hash。
渗透攻击红队
2020/11/25
1.9K0
Windows - Hash散列值抓取方法
点击加载更多

相似问题

Ruby中的嵌套Hash遍历递归

21

ruby中的递归Hash变换函数

38

Hash方法get on ruby

234

Ruby LDAP to_hash方法

10

Ruby方法双Splat与Hash

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文