r-lib / cpp11

cpp11 helps you to interact with R objects using C++ code.
https://cpp11.r-lib.org/
Other
193 stars 46 forks source link

build fails with gcc 4.8 #356

Open pachadotdev opened 1 month ago

pachadotdev commented 1 month ago

The CI workflow passes the recent PRs except for gcc 4.8 on Ubuntu 20.

Here is what the CI says

/home/runner/work/_temp/Library/cpp11/include/cpp11/protect.hpp:161:31: warning: format not a string literal and no format arguments [-Wformat-security]
     decltype(std::declval<F*>()(std::declval<A&&>()...)) operator()(A&&... a) const {
                               ^
/home/runner/work/_temp/Library/cpp11/include/cpp11/protect.hpp: In instantiation of ‘struct cpp11::detail::closure<void(SEXPREC*, const char*, ...), SEXPREC*&, const char*&&>’:
/home/runner/work/_temp/Library/cpp11/include/cpp11/protect.hpp:185:89:   required from ‘void cpp11::protect::noreturn_function<F>::operator()(A&& ...) const [with A = {SEXPREC*&, const char*}; F = void(SEXPREC*, const char*, ...)]’
/home/runner/work/_temp/Library/cpp11/include/cpp11/protect.hpp:234:29:   required from ‘void cpp11::stop(const string&, Args ...) [with Args = {}; std::string = std::basic_string<char>]’
errors.cpp:5:84:   required from here
/home/runner/work/_temp/Library/cpp11/include/cpp11/protect.hpp:148:29: warning: format not a string literal and no format arguments [-Wformat-security]
   decltype(std::declval<F*>()(std::declval<Aref>()...)) operator()() && {
                             ^
‘
Internal compiler error: Error reporting routines re-entered.
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
Preprocessed source stored into /tmp/ccOS2WLf.out file, please attach this to your bugreport.
make: *** [/opt/R/4.4.0/lib/R/etc/Makeconf:204: errors.o] Error 1

I tried to replicate this locally with VirtualBox, and so far I didn't succeed.

Enter one or more numbers, or an empty line to skip updates: 
Error: Could not find tools necessary to compile a package
Call `pkgbuild::check_build_tools(debug = TRUE)` to diagnose the problem.
DavisVaughan commented 1 month ago

Isn't that extremely old? Like, "last release in 2015 and no longer supported" old? https://gcc.gnu.org/gcc-4.8/

pachadotdev commented 1 month ago

Isn't that extremely old? Like, "last release in 2015 and no longer supported" old? https://gcc.gnu.org/gcc-4.8/

well, yes

I will edit the CI then :)