On 15 March 2025 at 09:49, Ivan Krylov wrote: | On Fri, 14 Mar 2025 22:25:54 -0500 | Dirk Eddelbuettel <e...@debian.org> wrote: | | > An older package I looked at apparently currently fails to build under | > r-devel (and with that my thanks to R-universe for giving us a | > 'broad' range of builds for free -- off our development sources) over | > 'bool' related changes and enum definitions. | > | > I can get it to behave and build by declaring | > | > PKG_CFLAGS = -std=gnu23 | | Could you please share the compilation failure messages? The -std=gnu23 | flag causes R_ext/Boolean.h to _not_ #include <stdbool.h> before | defining enum Rboolean, so the problem is likely related to that.
Sure thing. It is as so often a C++ package but has one C file src/init.c which begins with #include <R.h> #include <Rinternals.h> #include <stdlib.h> // for NULL #include <R_ext/Rdynload.h> and compilation then fails with In file included from /usr/local/lib/R-devel/lib/R/include/R.h:70, from init.c:1: /usr/local/lib/R-devel/lib/R/include/R_ext/Boolean.h:62:16: warning: ISO C does not support specifying ‘enum’ underlying types before C23 [-Wpedantic] 62 | typedef enum :int { FALSE = 0, TRUE } Rboolean; // so NOT NA | ^ so apparently R.h as it is upsets it. Cheers, Dirk -- dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel