[R-pkg-devel] CRAN uses an old version of clang

Uwe Ligges ||gge@ @end|ng |rom @t@t|@t|k@tu-dortmund@de
Fri Feb 9 16:42:50 CET 2024


Your users may also use old versions of clang. Hence please correct it.
CRAN is also checking with the clang18 release candidate.

Best,
Uwe Ligges



On 09.02.2024 15:59, Marcin Jurek wrote:
> Dear community,
> 
> I recently submitted an update to my package. It previous version relied on
> Boost for Bessel and gamma functions but a colleague pointed out to me that
> they are included in the standard library beginning with the C++17
> standard.
> 
> I don't have access to a Mac so I tested my package on Rhub and on my local
> Linux and everything ran fine. However, it seems like CRAN is using an old
> version of Clang (14.03 vs 16 being the newest one) and it complained about
> these Bessel functions. I'm pasting the installation log below. I wonder if
> this is something I could hope to explain in cran-comments and have my
> package accepted as is?
> 
> I could also revert to using Boost although I only need it for these
> special functions and things are much cleaner without it. In addition, one
> of the main reasons for this update was related to some warnings Boost
> started throwing.
> 
> Really appreciate the help!
> 
> * installing *source* package ‘GPvecchia’ ...
> ** package ‘GPvecchia’ successfully unpacked and MD5 sums checked
> ** using staged installation
> ** libs
> using C++ compiler: ‘Apple clang version 14.0.3 (clang-1403.0.22.14.1)’
> using C++17
> using SDK: ‘MacOSX11.3.sdk’
> clang++ -arch x86_64 -std=gnu++17
> -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/Rcpp/include'
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/RcppArmadillo/include'
> -I/opt/R/x86_64/include     -fPIC  -falign-functions=64 -Wall -g -O2
> -c Esqe.cpp -o Esqe.o
> clang++ -arch x86_64 -std=gnu++17
> -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/Rcpp/include'
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/RcppArmadillo/include'
> -I/opt/R/x86_64/include     -fPIC  -falign-functions=64 -Wall -g -O2
> -c Matern.cpp -o Matern.o
> clang++ -arch x86_64 -std=gnu++17
> -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/Rcpp/include'
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/RcppArmadillo/include'
> -I/opt/R/x86_64/include     -fPIC  -falign-functions=64 -Wall -g -O2
> -c MaxMin.cpp -o MaxMin.o
> clang++ -arch x86_64 -std=gnu++17
> -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/Rcpp/include'
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/RcppArmadillo/include'
> -I/opt/R/x86_64/include     -fPIC  -falign-functions=64 -Wall -g -O2
> -c RcppExports.cpp -o RcppExports.o
> clang++ -arch x86_64 -std=gnu++17
> -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/Rcpp/include'
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/RcppArmadillo/include'
> -I/opt/R/x86_64/include     -fPIC  -falign-functions=64 -Wall -g -O2
> -c U_NZentries.cpp -o U_NZentries.o
> clang++ -arch x86_64 -std=gnu++17
> -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/Rcpp/include'
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/RcppArmadillo/include'
> -I/opt/R/x86_64/include     -fPIC  -falign-functions=64 -Wall -g -O2
> -c dist.cpp -o dist.o
> clang++ -arch x86_64 -std=gnu++17
> -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/Rcpp/include'
> -I'/Volumes/Builds/packages/big-sur-x86_64/Rlib/4.3/RcppArmadillo/include'
> -I/opt/R/x86_64/include     -fPIC  -falign-functions=64 -Wall -g -O2
> -c fastTree.cpp -o fastTree.o
> Matern.cpp:80:68: error: no member named 'cyl_bessel_k' in namespace 'std'
>          covmat(j1,j2) = normcon*pow( scaledist, covparms(2)
> )*std::cyl_bessel_k(covparms(2),scaledist);
> //Rf_bessel_k(scaledist,covparms(2),1.0);
>                                                                ~~~~~^
> 1 error generated.
> make: *** [Matern.o] Error 1
> make: *** Waiting for unfinished jobs....
> ERROR: compilation failed for package ‘GPvecchia’
> * removing ‘/Volumes/Builds/packages/big-sur-x86_64/results/4.3/GPvecchia.Rcheck/GPvecchia’
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel


More information about the R-package-devel mailing list