On 21 May 2024 at 13:01, Jeroen Ooms wrote: | Compiling packages with C++ code using the default r-base-dev | configuration on debian:sid shows a lot of: | | cc1plus: warning: '-Werror=' argument | '-Werror=implicit-function-declaration' is not valid for C++ | | Can this flag be removed from R CMD config CXXFLAGS? "No." That was quoting Simon Urbanek from a few years ago. You cannot undo what it is in R's own /etc/R/Makeconf via a programmatic way via some sort of option or alike. It is fixed. You and I know that you can add to the right-hand side via ~/.R/Makeconf and that is about it AFAIK. Of course you can also call `sed` and alike to modify it (in a container, say). Maybe that is what you really want to do. Actually, it is also a 'conffile' as far as `apt` and friends are concerned. So you can always do `sudo vi ...` it and call it a day. The changes should persist in the way changes you the admin made to your config files persist. I am afraid that is all we have here. Dirk -- dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
On Tue, 21 May 2024 07:08:02 -0500 Dirk Eddelbuettel <edd at debian.org> wrote:> You cannot undo what it is in R's own /etc/R/Makeconf via a > programmatic way via some sort of option or alike.I think this is about the following line in debian/rules: optimflags = `DEB_BUILD_MAINT_OPTIONS=optimize=-lto dpkg-buildflags --get CFLAGS` https://sources.debian.org/src/r-base/4.4.0-2/debian/rules/#L101 ...which later propagares to cxxflags = $(optimflags) and eventually CXXFLAGS="$(cxxflags)" ... ./configure. On Sid, dpkg-buildflags --get CFLAGS includes -Werror=implicit-function-declaration, which g++ doesn't like: root at 020af1fe3ba2:/# g++ -Werror=implicit-function-declaration -c ex.cpp cc1plus: warning: '-Werror=' argument '-Werror=implicit-function-declaration' is not valid for C++ -- Best regards, Ivan