On Fri, 1 Jun 2018 21:12:06 +0200 Sébastien Villemot <sebast...@debian.org> wrote: > Package: src:rkward > Version: 0.7.0-1 > Severity: serious > Control: block 896667 by -1 > > Dear Maintainer, > > The R 3.5 transition has just started (see #896667), and consequently the > rebuild of rkward has been triggered. > > But the rebuild failed, apparently because the C compiler is not properly > detected (I did not investigate whether this error is actually related to R > 3.5 > or is due to some other unrelated change):
For a build log of the failure, see the link "rbuild (41KB)" at [1]. It seems that the cmake invocation is causing trouble. Consider these forms: 1) CC='gcc -std=c99' cmake ... 2) CC='gcc -std=c99' cmake -DCMAKE_C_COMPILER='gcc -std=c99' ... The first one is okay and CMake handles the extra -std=c99 argument properly, but the second one causes "-- The C compiler identification is unknown". This behavior is expected as CMAKE_C_COMPILER should be a full path.[6] Debhelper[2] uses the second form when CC is set, as is done in rkward[3]. The change was introduced in [4], to fix #897083[5]. (Helmut Cc'd to notify of this unexpected breakage.) On the other hand, maybe debian/rules of rkward needs to be changed. The comment at [3] states that setting CC is required for "some installations of R", but is it required in the Debian package specifically? In this case, 'gcc -std=c99' comes from "/usr/bin/R CMD config CC". I am also wondering why R should impose -std=c99. There exist many other possible values for -std.[7] Cheers, Juhani [1] https://tests.reproducible-buildds.org/debian/rb-pkg/unstable/armhf/rkward.html [2] https://sources.debian.org/src/debhelper/11.3.2/lib/Debian/Debhelper/Buildsystem/cmake.pm/#L90 [3] https://sources.debian.org/src/rkward/0.7.0-1/debian/rules/#L25 [4] https://salsa.debian.org/debian/debhelper/commit/a5eb0dc3c3a16d12c7a26ac42b93a35b931188d3 [5] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897083 [6] https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER.html [7] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html