[R-pkg-devel] How to R CMD build / check using LTO
    Paul Schmidt-Walter 
    p@u|@@chm|dt-w@|ter @end|ng |rom po@teo@de
       
    Wed Feb 17 20:04:34 CET 2021
    
    
  
Dear Team,
My package 'LWFBrook90R' (https://github.com/pschmidtwalter/LWFBrook90R) 
was recently released on CRAN, but there are additional LTO Issues 
(https://www.stats.ox.ac.uk/pub/bdr/LTO/LWFBrook90R.out) with the 
compiled code, that need to be fixed soon.
I would like to reproduce the LTO warnings locally to see if possible 
solutions fix them, but dont know how to build and check with LTO. I am 
a newbie on Ubuntu 18.04 and hope to get help in this case.
There is information provided on how to configure R to reproduce the 
test (https://www.stats.ox.ac.uk/pub/bdr/LTO/README.txt), but I simply 
don't know how to "build with configure --enable-lto" and I also can't 
find the "config.site" file on my system to enable the respective 
compiler flags (see below).
Any help is appreciated!
Paul
---
LTO-Readme.txt:
Compilation logs for CRAN packages using x86_64 Fedora 32 Linux
(currently using GCC 10.1)built with configure --enable-lto and 
config.site:
CFLAGS="-g -O2 -Wall -pedantic -mtune=native"
FFLAGS="-g -O2 -mtune=native -Wall -pedantic"
CXXFLAGS="-g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes 
-Wno-deprecated-declarations -Wno-parentheses"
AR=gcc-ar
RANLIB=gcc-ranlib
Look for [-Wlto-type-mismatch] warnings.  In some cases these involve
Fortran CHARACTER arguments where the length is passed as a 'hidden'
argument at the end, giving mismatches such as
sblas.f:3951:14: note: type ‘long int’ should match type ‘void’
To work around these, define USE_FC_LEN_T and include Rconfig.h
(perhaps via R.h) before including BLAS.h or Lapack.h or your own
C proptypes for Fortran functions.  Then amend the actual calls to include
character length arguments: see the example of 
src/library/stats/src/rWishart.c
in the R sources.
---
    
    
More information about the R-package-devel
mailing list