我正在尝试将我的第一个包裹提交到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
文件中)解释它们。但有没有办法删除我在系统上发出的警告(macOS
,R = 3.5.0
)。该程序包在travis-ci
和appveyor
上构建正常。
此外,包装是否准备好提交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
任何帮助都将受到高度赞赏!!
答案 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