我正在尝试编制一个我已经制作的小包装。该软件包使用Rcpp和RcppArmadillo。一切都运行良好,直到我更新我的mac到Sierra(版本10.12.5)。从Rstudio(版本1.0.143)构建包时,我现在有以下错误消息:
Error in Rcpp::compileAttributes() :
Evaluation error: no native symbols were extracted.
Calls: source ... withVisible -> eval -> eval -> <Anonymous> -> .Call
Execution halted
知道这是什么以及如何修复它?
非常感谢!
答案 0 :(得分:6)
重命名包后出现同样的错误。
删除src/
下的编译对象文件,例如xxx.o
和xxx.so
后,再次有效。
答案 1 :(得分:4)
尝试
tools::package_native_routine_registration_skeleton(".", character_only = FALSE)
如果你没有第一次打电话,那么非直观的character_only = FALSE
是必要的。
我在https://github.com/kbenoit/quanteda/issues/846从kbenoit复制了这个答案。当我遇到类似问题时,这对我有用。
答案 2 :(得分:3)
在我的情况下,当NAMESPACE文件出现问题或缺少NAMESPACE时会发生这种情况。有一个捕获22。 Roxygen2不会覆盖您的NAMESPACE文件,但是如果您删除它并运行roxygen来生成NAMESPACE文件,则会调用compileAttributes,但会挂起,因为缺少NAMESPACE文件。
答案 3 :(得分:1)
尝试删除RcppExports.cpp和RcppExports.o然后在构建选项中转到&#34;更多&#34; - &GT; &#34;清洁和重建&#34; 当我遇到类似的问题时,这通常可以解决问题
答案 4 :(得分:1)
我通过从GitHub在一个新目录中重新创建RStudio中的项目来修复我的问题。
我有同样的问题;发生在我正在处理与包无关的markdown文件时,但是所有突然的包都不会以相同的错误构建:
> devtools::session_info()
Session info ----------------------------------------------------------------------------------------------------------------------
setting value
version R version 3.5.0 (2018-04-23)
system x86_64, mingw32
ui RStudio (1.1.453)
language (EN)
collate English_United States.1252
tz America/Los_Angeles
date 2018-06-05
Packages --------------------------------------------------------------------------------------------------------------------------
package * version date source
assertthat 0.2.0 2017-04-11 CRAN (R 3.5.0)
base * 3.5.0 2018-04-23 local
bindr 0.1.1 2018-03-13 CRAN (R 3.5.0)
bindrcpp 0.2.2 2018-03-29 CRAN (R 3.5.0)
colorspace 1.3-2 2016-12-14 CRAN (R 3.5.0)
compiler 3.5.0 2018-04-23 local
datasets * 3.5.0 2018-04-23 local
devtools 1.13.5 2018-02-18 CRAN (R 3.5.0)
digest 0.6.15 2018-01-28 CRAN (R 3.5.0)
dplyr 0.7.5 2018-05-19 CRAN (R 3.5.0)
epicR * 0.16.0 2018-06-06 local
ggplot2 2.2.1.9000 2018-05-28 Github (tidyverse/ggplot2@4299917)
ggthemes 3.5.0 2018-05-07 CRAN (R 3.5.0)
glue 1.2.0 2017-10-29 CRAN (R 3.5.0)
graphics * 3.5.0 2018-04-23 local
grDevices * 3.5.0 2018-04-23 local
grid 3.5.0 2018-04-23 local
gtable 0.2.0 2016-02-26 CRAN (R 3.5.0)
lazyeval 0.2.1 2017-10-29 CRAN (R 3.5.0)
magrittr 1.5 2014-11-22 CRAN (R 3.5.0)
memoise 1.1.0 2017-04-21 CRAN (R 3.5.0)
methods * 3.5.0 2018-04-23 local
munsell 0.4.3 2016-02-13 CRAN (R 3.5.0)
pillar 1.2.3 2018-05-25 CRAN (R 3.5.0)
pkgconfig 2.0.1 2017-03-21 CRAN (R 3.5.0)
plyr 1.8.4 2016-06-08 CRAN (R 3.5.0)
purrr 0.2.5 2018-05-29 CRAN (R 3.5.0)
R6 2.2.2 2017-06-17 CRAN (R 3.5.0)
Rcpp 0.12.17 2018-05-18 CRAN (R 3.5.0)
rlang 0.2.1 2018-05-30 CRAN (R 3.5.0)
scales 0.5.0 2017-08-24 CRAN (R 3.5.0)
stats * 3.5.0 2018-04-23 local
tibble 1.4.2 2018-01-22 CRAN (R 3.5.0)
tidyselect 0.2.4 2018-02-26 CRAN (R 3.5.0)
tools 3.5.0 2018-04-23 local
utils * 3.5.0 2018-04-23 local
withr 2.1.2 2018-03-15 CRAN (R 3.5.0)
yaml 2.1.19 2018-05-01 CRAN (R 3.5.0)
答案 5 :(得分:0)
我不知道这是否可以解决问题,但是我遇到了类似的问题,因为我将该软件包命名为“ xxx_package”。我不记得到底发生了什么,我想我发现了,因为当我尝试在Rstudio中创建一个具有类似名称的新程序包时,该名称出现错误,只允许使用字母和数字。 Rcpp::compileAttributes
甚至Rcpp::Rcpp.package.skeleton
都没有抱怨过这个名字。我尝试使用tools::package_native_routine_registration_skeleton(".", character_only = FALSE)
无济于事。
无论如何,在创建一个名为“ xxxPackage”的新程序包后,所有问题均已解决。