Hi Karl,
On 1 June 2021 at 22:22, Karl Dunkle Werner wrote: | I noticed the Makeconf file that comes with the Ubuntu version of R 4.1.0 | has link-time optimization (LTO) flags enabled. For instance: | CXX11FLAGS = -g -O2 -ffile-prefix-map=/build/r-base-aXXzqd/r-base-4.1.0=. | -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat | -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g $(LTO) Upstream decision by R Core, see the NEWS entry: LINK-TIME OPTIMIZATION on a UNIX-ALIKE: * Configuring with flag --enable-lto=R now also uses LTO when installing the recommended packages. * R CMD INSTALL and R CMD SHLIB have a new flag --use-LTO to use LTO when compiling code, for use with R configured with --enable-lto=R. For R configured with --enable-lto, they have the new flag --no-use-LTO. Packages can opt in or out of LTO compilation _via_ a UseLTO field in the DESCRIPTION file. (As usual this can be overridden by the command-line flags.) | If I understand things correctly, these flags cause a bit of a problem | trying to install the arrow package, since that package does not want to | override the CXX11FLAGS, I doubt that, based on a wee bit of experience with C++, C++11, and all that based coming up on 15 years with Rcpp, RInside and all that jazz. | but also does not work with LTO. Setting "UseLTO: | false" in the package description doesn't seem to work. That is something you may need to discuss with either R Core upstream (for the Makeconf), or maybe with the Arrow team for how they build the package. And there could of course be a bug but I remind you that Arrow itself is on CRAN. | Would it be possible to remove the flags -flto=auto and -ffat-lto-objects? Not likely for the package I ship. I tend to not second guess upstream, and have followed R Core pretty much without changes to the program for 20 years. If you think you need a locally modified version I may be able to help you build one. Hope this helps, Dirk PS As for my experiences with Arrow, well. I will try to remain brief: - while I have 25-ish years of experience building for Debian I _could never_ build Arrow even as shipped for R; I did file (GitHub) bug reports but they went nowhere (and I had no time for signing up for Jira, sorry) - this included failure on the "rather unusual" second installation as the Arrow build appears to not be entirely truthful by installing ... and then not working telling you to reinstall - that was generally on Ubuntu 'current at the time', but also on the Debian testing machine I use for Rcpp reverse depends (and where I build well over 2000 CRAN packages, yet Arrow remains "special") - as of Arrow 4.0.0 I can at least succeed at the second stage but I would be interested to hear how others fared on Debian or Ubuntu systems. -- https://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org _______________________________________________ R-SIG-Debian mailing list R-SIG-Debian@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-debian