On 10 May 2019 at 20:32, Goldfeld, Keith wrote: | Good afternoon – | | I am submitting an update to my package ‘simstudy’, and the ran the rhub checks. I received a note from one of the four platforms (the other three passed). The Ubuntu Linux 16.04 objected to the compilation flags: | | * checking compilation flags used ... NOTE | Compilation used the following non-portable flag(s): | ‘-Wdate-time’ ‘-Werror=format-security’ ‘-Wformat’ | | I did some searching and someone suggested I create a ‘Makevars’ in the ~/.R directory (which is different from my package directory). This is what I included in the Makevars file: | | # 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 | | I ran devtools::check(), and it seemed to find the Makevars file. However, when I reran devtools::check_rhub(), I still received a NOTE. Does anyone have any advice on what I might not be getting right?
"A change is gonna come." This was arguably something I should have taken care of earlier. The long story is that - Debian (and thus Ubuntu) impose ‘-Wdate-time -Werror=format-security -Wformat’ for security reasons, and have for a few years - as an OS default these become active on Debian and Ubuntu when R is compiled (see /etc/R/Makeconf) - this confuses people, and what pushed me over the edge was that I had to explain it to one of my STAT 430 students a week or two ago As discussed on r-sig-debian we currently have another good reason to update our R 3.6.0-1 package, and I will add this too. In the meantime try this on local system (and I don't think you can influence the rhub build): just add _R_CHECK_COMPILATION_FLAGS_KNOWN_=-Wformat -Werror=format-security -Wdate-time to any one of $RHOME/etc/Renviron, $RHOME/etc/Renviron.site (and those two can be accessed via /etc/R/ for convenience), your ~/.Renviron, your working directory's .Renviron (if any), your ~/.R/check.Renviron. Or wait a couple of days. Hope this helps, Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel