[R-pkg-devel] New Package Removal because Shared Library Too Large from Debugging Symbols
Ivan Krylov
|kry|ov @end|ng |rom d|@root@org
Sat Jan 20 21:02:37 CET 2024
В Sat, 20 Jan 2024 14:38:55 -0500
Johann Gaebler <me using jgaeb.com> пишет:
> The issue is that the compiled libraries are too large.
Was it in the e-mail? As you quite correctly observed, many other
packages get the NOTE about shared library size.
It may be not exactly obvious, but the red link saying "LTO" on the
check page that points to
<https://www.stats.ox.ac.uk/pub/bdr/LTO/rar.out> is hiding a more
serious issue:
> cpp11.cpp:18:13: warning: 'run_testthat_tests' violates the C++ One Definition Rule [-Wodr]
> 18 | extern SEXP run_testthat_tests(void *);
> | ^
> /data/gannet/ripley/R/test-dev/testthat/include/testthat/testthat.h:172:17: note: 'run_testthat_tests' was previously declared here
> 172 | extern "C" SEXP run_testthat_tests(SEXP use_xml_sxp) {
> | ^
Modern C++ compilers are painfully pedantic about undefined behaviour
and can optimise away large sections of code if they think they have a
proof that your code causes it [*]. If you edit cpp11.cpp to provide the
correct declaration (#include the testthat header if possible), the
error should go away.
--
Best regards,
Ivan
[*] For example, see this issue in R: https://bugs.r-project.org/show_bug.cgi?id=18430
More information about the R-package-devel
mailing list