在摇臂上安装Rcpp/r-devel-ubsan-clang

在摇臂上安装Rcpp/r-devel-ubsan-clang,r,docker,rcpp,R,Docker,Rcpp,我正试图为我的R软件包复制CRAN消毒剂故障,该软件包依赖于rocker/R-devel-ubsan-clangDocker映像上的Rcpp 当我尝试安装Rcpp时,我得到一个错误,关于没有名为'R\u ContinueUnwind'的类型。这是我做错了什么,还是与Rcpp和Rdevel不兼容 如果是后者,有没有一种方法可以获得一个类似的docker映像,该映像对非开发版本的docker使用地址清理器 以下是我一直尝试运行和输出的命令: docker run --cap-add SYS_PTRA

我正试图为我的R软件包复制CRAN消毒剂故障,该软件包依赖于rocker/R-devel-ubsan-clangDocker映像上的Rcpp

当我尝试安装Rcpp时,我得到一个错误,关于
没有名为'R\u ContinueUnwind'的类型
。这是我做错了什么,还是与Rcpp和Rdevel不兼容

如果是后者,有没有一种方法可以获得一个类似的docker映像,该映像对非开发版本的docker使用地址清理器

以下是我一直尝试运行和输出的命令:

docker run --cap-add SYS_PTRACE --rm -it rocker/r-devel-ubsan-clang /bin/bash
root@e9f11aceb087:/# Rscriptdevel -e "install.packages('Rcpp')"
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/src/contrib/Rcpp_0.12.18.tar.gz'
Content type 'application/x-gzip' length 3809164 bytes (3.6 MB)
==================================================
downloaded 3.6 MB

* installing *source* package ‘Rcpp’ ...
** package ‘Rcpp’ successfully unpacked and MD5 sums checked
** libs
clang++-4.0 -stdlib=libc++ -fsanitize=address,undefined -fno-sanitize=float-divide-by-zero -fno-omit-frame-pointer -fsanitize-address-use-after-scope  -I/usr/local/lib/R/include -DNDEBUG -I../inst/include/  -I/usr/local/include   -fpic  -g -O3 -Wall -pedantic -mtune=native  -c Date.cpp -o Date.o
In file included from Date.cpp:31:
In file included from ../inst/include/Rcpp.h:27:
In file included from ../inst/include/RcppCommon.h:128:
../inst/include/Rcpp/exceptions.h:150:7: error: no type named 'R_ContinueUnwind' in the global namespace
    ::R_ContinueUnwind(token);
    ~~^
1 error generated.
/usr/local/lib/R/etc/Makeconf:166: recipe for target 'Date.o' failed
make: *** [Date.o] Error 1
ERROR: compilation failed for package ‘Rcpp’
* removing ‘/usr/local/lib/R/site-library/Rcpp’

The downloaded source packages are in
        ‘/tmp/RtmpqVuvlD/downloaded_packages’
Warning message:
In install.packages("Rcpp") :
  installation of package ‘Rcpp’ had non-zero exit status
编辑 以下是
docker图像列表的结果
以及容器中的
Rdevel--version

 docker image list rocker/r-devel-ubsan-clang
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
rocker/r-devel-ubsan-clang   latest              c769161f77fb        10 months ago       4.47GB
Rdevel --version
R Under development (unstable) (2017-09-16 r73288) -- "Unsuffered Consequences"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.
Rdevel--version

 docker image list rocker/r-devel-ubsan-clang
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
rocker/r-devel-ubsan-clang   latest              c769161f77fb        10 months ago       4.47GB
Rdevel --version
R Under development (unstable) (2017-09-16 r73288) -- "Unsuffered Consequences"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.

我通过使用docker pull获得了该图像,我现在正尝试从头开始构建它,因为该图像已经存在10个月了。

这里是该回购协议的维护者。我们也可以在回购协议上讨论这个问题。我已经有一段时间没有尝试过用
clang
编译R-devel了(因为我在家里通过
gcc
构建R-devel),所以不确定为什么缺少符号

整个概念是由Winston提出的,他创建了一整套调试Docker容器

否则,(优秀的)也有消毒剂构建。剩下的一个问题是,CRAN不太愿意更改他们的设置(除了发布他们的简短描述),因此永远不清楚设置是否与他们的设置完全相同

编辑:实际上,
grep
“为您的符号进行编辑表明它是:


如果有,你能再检查一下你的容器设置吗?在这里,R版本和R-devel版本之间可能存在不匹配,这应该很容易修复。

您可以尝试最近构建的
rocker/R-devel-san
rocker/r-devel-ubsan-clang
的上一个版本是一年多前的。谢谢!因为我不确定是哪种回购Rcpp还是摇滚乐,所以发到这里?rhub(和r-devel-san)通过了测试,所以我们希望尝试其他方法。啊,我们与Rocker的多次回购协议一团糟,而且经常在错误的一次中获得票证:)哦,好吧。好吧,如果你有一些空闲的周期,我很乐意和你一起更新这个。CRAN(UB)SAN设置的参考页应该保持不变,如果需要,我们应该能够获得相同的编译器版本。请参阅上面的更新,我认为问题在于dockerhub上托管的映像已有10个月的历史,因此它是R3.5开发时的开发版本。也许有人只需要点击docker hub版本的更新?明白了--点击一个构建,日志就会增长。最终它开始了,然后完成了,所以你现在就可以尝试了。