CRAN提交 - R CMD检查警告 - 使用的编译标志

时间:2018-06-02 15:02:40

标签: r r-package cran

我正在尝试将我的第一个包裹提交到CRAN并在我的机器上,我在运行R CMD check时收到以下警告(通过RStudio

checking compilation flags used ... WARNING
Compilation used the following non-portable flag(s):
  ‘-Wno-unused-function’ ‘-Wno-unused-variable’
including flag(s) suppressing warnings
R CMD check results
0 errors | 1 warning  | 0 notes

R CMD check succeeded

我在R win-builder上构建我的软件包时没有收到此警告。我确实从win-builder服务中获得了NOTE,但我认为这是因为这是第一次提交并且有CRAN无法识别的拼写,即

* checking CRAN incoming feasibility ... NOTE

New submission

Possibly mis-spelled words in DESCRIPTION:
  CVODE (8:167)
  CVODES (8:219)
  Livermore (8:108)

我并不担心第一次提交和错误拼写的单词,因为我可以在评论中(以及cran-comments.md文件中)解释它们。但有没有办法删除我在系统上发出的警告(macOSR = 3.5.0)。该程序包在travis-ciappveyor上构建正常。

此外,包装是否准备好提交1警告,我知道Hadley的书中提到我们必须在提交之前尝试删除所有错误,警告和注释。

我刚刚发现了r-hub,这个包就可以了。

Build ID:   sundialr_0.1.0.tar.gz-aa50507b5a2a8b57b091643fa3e7aae2
Platform:   Debian Linux, R-devel, GCC
Submitted:  3 minutes 36.3 seconds ago
Build time: 3 minutes 32.1 seconds

可以找到包裹代码here

任何帮助都将受到高度赞赏!!

1 个答案:

答案 0 :(得分:11)

2019年5月更新:Debian软件包中的Recent changes使最新软件包无需进行这些配置更改。

AFAIK,Debian将这些标志默认用作每次编译。 R会记住使用的标志。您可以在~/.R/Makevars中进行调整,例如:

# Settings from /etc/R/Makeconf with "non-portable flag(s):"
# ‘-Wdate-time’ ‘-Werror=format-security’ ‘-Wformat’ replaced by -Wall -pedantic
# and without -fdebug-prefix-map=... 
CFLAGS = -g -O2 -Wall -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2 $(LTO)
CXXFLAGS = -g -O2 -Wall -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2 $(LTO)
CXX98FLAGS = -g -O2 -Wall -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2
CXX11FLAGS = -g -O2 -Wall -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2
CXX14FLAGS = -g -O2 -Wall -pedantic -fstack-protector-strong -D_FORTIFY_SOURCE=2