因为我将Rcpp
的版本更新为0.12.11
(我测试它适用于0.12.10
)我无法再构建我的包了。
实际上无法构建来自dot.test
的名为RStudio
的新包。
Updating dot.test documentation
Loading dot.test
Re-compiling dot.test
'/usr/lib64/R/bin/R' --no-site-file --no-environ --no-save --no-restore \
--quiet CMD INSTALL '/pxfs/data/statquant/public/dot.test' \
--library='/tmp/RtmpZARXxv/devtools_install_1ef63ab8fde6' --no-R --no-data \
--no-help --no-demo --no-inst --no-docs --no-exec --no-multiarch \
--no-test-load
* installing *source* package ‘dot.test’ ...
** libs
g++ -m64 -I/usr/include/R -DNDEBUG -I/usr/local/include -I"/lxhome/statquant/R/x86_64-redhat-linux-gnu-library/3.3/Rcpp/include" -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c RcppExports.cpp -o RcppExports.o
RcppExports.cpp:20:46: error: ‘dot’ was not declared in this scope
{"dot.test_rcpp_hello_world", (DL_FUNC) &dot.test_rcpp_hello_world, 0},
^
R> sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: x86_64-redhat-linux-gnu (64-bit)
[...]
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.3.0
R> system('which g++')
/opt/rh/devtoolset-3/root/usr/bin/g++
R> system('g++ --version')
g++ (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如果可以理解C++
和包含.
的软件包名称可能会出现问题 ,则不会明确禁止 (我知道)。
有很多像data.table
这样的软件包在名称中有一个点
我的问题是:
.
意味着我不能再使用Rcpp::compileAttributes
了吗?Rcpp>0.12.10
?答案 0 :(得分:3)
这是Kirill前几天(亲自)向我报告的一个错误,现在已经在GitHub上提交了......并且应该很快就会修复。
有关详情和进展情况,请参阅https://github.com/RcppCore/Rcpp/issues/721。
目前,快速解决方法是使用手动编辑的src/init.c
,直到compileAttributes()
得到修复。