r-lib / cpp11

cpp11 helps you to interact with R objects using C++ code.
https://cpp11.r-lib.org/
Other
199 stars 46 forks source link

Release cpp11 0.4.4 #321

Closed romainfrancois closed 1 year ago

romainfrancois commented 1 year ago

Prepare for release:

Submit to CRAN:

Wait for CRAN...

romainfrancois commented 1 year ago

Had to use this to make gcc 4.8 quiet about digest

https://github.com/r-lib/cpp11/blob/d3f000c681f84564d1849915dd390bad5eed6f1f/.github/workflows/R-CMD-check.yaml#L72

cc @DavisVaughan you might have a better way.

romainfrancois commented 1 year ago

revdep_check() gives:

## revdepcheck results

We checked 63 reverse dependencies (56 from CRAN + 7 from Bioconductor), comparing R CMD check results across CRAN and dev versions of this package.

 * We saw 1 new problems
 * We failed to check 7 packages

Issues with CRAN packages are summarised below.

### New problems
(This reports the first line of each new failure)

* triangulr
  checking C++ specification ... NOTE

### Failed to check

* epiworldR     (NA)
* hilbert       (NA)
* igraph        (NA)
* RcppAlgos     (NA)
* spatialsample (NA)
* svglite       (NA)
* vdiffr        (NA)

I've sent a PR for the unique problem (related to https://www.tidyverse.org/blog/2023/03/cran-checks-compiled-code/#note-regarding-systemrequirements-c11):

(trying cloud_check() now because some of the "failed to check" are because fortran ...)

romainfrancois commented 1 year ago

cloud_check() gives :

> revdepcheck::cloud_summary()
ℹ Syncing results to revdep/cloud.noindex/f7cbb016-c063-4d43-91da-87b8911bdf0d
ℹ Comparing results
✔ ambient 1.0.2                          ── E: 0     | W: 0     | N: 0    
✔ archive 1.1.5                          ── E: 0     | W: 0     | N: 0    
✔ area 0.1.0                             ── E: 0     | W: 0     | N: 0    
✔ arrow 12.0.1                           ── E: 0     | W: 0     | N: 2    
✔ asciicast 2.3.0                        ── E: 0     | W: 0     | N: 0    
✔ bignum 0.3.2                           ── E: 0     | W: 0     | N: 1    
E BiocParallel NA                        ── E: 1/1   | W: 1/1   | N: 1/1  
✔ clock 0.7.0                            ── E: 0     | W: 0     | N: 1    
✔ CMF 1.0.3                              ── E: 0     | W: 0     | N: 0    
E CytoML NA                              ── E: 1/1   | W: 1/1   | N: 1/1  
✔ deformula 0.1.2                        ── E: 0     | W: 0     | N: 0    
✔ epiworldR 0.0.2                        ── E: 0     | W: 0     | N: 1    
E flowCore NA                            ── E: 1/1   | W: 1/1   | N: 1/1  
E flowWorkspace NA                       ── E: 1/1   | W: 1/1   | N: 1/1  
✔ gtfstools 1.2.0                        ── E: 0     | W: 0     | N: 0    
✔ haven 2.5.2                            ── E: 0     | W: 0     | N: 3    
✔ hilbert 0.2.1                          ── E: 0     | W: 0     | N: 0    
✔ httpgd 1.3.1                           ── E: 0     | W: 0     | N: 1    
✔ igraph 1.5.0                           ── E: 0     | W: 0     | N: 1    
✔ jinjar 0.3.0                           ── E: 0     | W: 0     | N: 1    
✔ literanger 0.0.1                       ── E: 0     | W: 0     | N: 1    
✔ lobstr 1.1.2                           ── E: 0     | W: 0     | N: 0    
✔ meltr 1.0.1                            ── E: 0     | W: 0     | N: 1    
✔ mice 3.16.0                            ── E: 0     | W: 0     | N: 0    
✔ mnmer 0.99.1                           ── E: 0     | W: 0     | N: 0    
✔ myTAI 0.9.3                            ── E: 0     | W: 0     | N: 1    
E NanoMethViz NA                         ── E: 1/1   | W: 1/1   | N: 1/1  
E ncdfFlow NA                            ── E: 1/1   | W: 1/1   | N: 1/1  
E openCyto NA                            ── E: 1/1   | W: 1/1   | N: 1/1  
✔ particles 0.2.3                        ── E: 0     | W: 0     | N: 0    
✔ pkgbuild 1.4.2                         ── E: 0     | W: 0     | N: 0    
✔ pkgstats 0.1.1                         ── E: 0     | W: 0     | N: 0    
✔ rankUncertainty 1.0.2.0                ── E: 0     | W: 0     | N: 0    
✔ RcppAlgos 2.7.2                        ── E: 0     | W: 0     | N: 1    
✔ readNSx 0.0.2                          ── E: 0     | W: 0     | N: 0    
✔ readr 2.1.4                            ── E: 0     | W: 0     | N: 1    
✔ readxl 1.4.2                           ── E: 0     | W: 0     | N: 1    
✔ rjsoncons 1.0.0                        ── E: 0     | W: 0     | N: 1    
✔ roxygen2 7.2.3                         ── E: 0     | W: 0     | N: 0    
✔ RSQLite 2.3.1                          ── E: 0     | W: 0     | N: 1    
✔ shinytest2 0.2.1                       ── E: 0     | W: 0     | N: 0    
✔ sift 0.1.0                             ── E: 0     | W: 0     | N: 1    
✔ SpatialKDE 0.8.2                       ── E: 0     | W: 0     | N: 0    
✔ supercells 0.9.1                       ── E: 0     | W: 0     | N: 0    
✔ svglite 2.1.1                          ── E: 0     | W: 0     | N: 0    
✔ systemfonts 1.0.4                      ── E: 0     | W: 0     | N: 1    
✔ tardis 0.1.4                           ── E: 0     | W: 0     | N: 1    
✔ textrecipes 1.0.3                      ── E: 0     | W: 0     | N: 1    
✔ textshaping 0.3.6                      ── E: 0     | W: 0     | N: 0    
✔ tidygraph 1.2.3                        ── E: 0     | W: 0     | N: 0    
✔ tidyr 1.3.0                            ── E: 0     | W: 0     | N: 1    
✔ timechange 0.2.0                       ── E: 0     | W: 0     | N: 1    
✔ tipitaka 0.1.2                         ── E: 0     | W: 0     | N: 3    
✔ transformr 0.1.4                       ── E: 0     | W: 0     | N: 0    
✔ triangulr 1.2.1                        ── E: 0     | W: 0     | N: 0    
✔ tweenr 2.0.2                           ── E: 0     | W: 0     | N: 1    
✔ twosamples 2.0.1                       ── E: 0     | W: 0     | N: 0    
✔ tzdb 0.4.0                             ── E: 0     | W: 0     | N: 1    
✔ vdiffr 1.0.5                           ── E: 0     | W: 0     | N: 0    
✔ vroom 1.6.3                            ── E: 0     | W: 0     | N: 2    
✔ websocket 1.4.1                        ── E: 0     | W: 0     | N: 2   
romainfrancois commented 1 year ago

These are all bioc packages:

E BiocParallel NA                        ── E: 1/1   | W: 1/1   | N: 1/1 

Have not been able to check BiocParallel, because various latex problems.

E CytoML NA                              ── E: 1/1   | W: 1/1   | N: 1/1

Getting this: this is unrelated to this update.

   ld: library not found for -lcrypto
   clang: error: linker command failed with exit code 1 (use -v to see invocation)
   make: *** [CytoML.so] Error 1
   ERROR: compilation failed for package ‘CytoML’
E flowCore NA                            ── E: 1/1   | W: 1/1   | N: 1/1  

I'm getting a lot of Rcpp/RcppArmadillo noise, and the dev version of the 📦 does not seem to be using cpp11 anymore: https://github.com/RGLab/flowCore/blob/master/DESCRIPTION

E flowWorkspace NA                       ── E: 1/1   | W: 1/1   | N: 1/1 

This gnerates a few warnings related to external pointers:

-fdiagnostics-color=always -c cpp11.cpp -o cpp11.o
   In file included from cpp11.cpp:4:
   In file included from ./flowWorkspace_types.h:5:
   In file included from /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11/declarations.hpp:8:
   In file included from /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11.hpp:10:
   /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11/external_pointer.hpp:17:3: warning: delete called on non-final 'cytolib::CytoFrameView' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
     delete obj;
     ^
   /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11/external_pointer.hpp:20:42: note: in instantiation of function template specialization 'cpp11::default_deleter<cytolib::CytoFrameView>' requested here
   template <typename T, void Deleter(T*) = default_deleter<T>>
                                            ^
   1 warning generated.
   clang++ -arch arm64 -std=gnu++11 -I"/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -Wno-pedantic -I'/Users/romainfrancois/.R/library/4.3/cpp11/include' -I'/Users/romainfrancois/.R/library/4.3/BH/include' -I'/Users/romainfrancois/.R/library/4.3/RProtoBufLib/include' -I'/Users/romainfrancois/.R/library/4.3/cytolib/include' -I'/Users/romainfrancois/.R/library/4.3/Rhdf5lib/include' -I/opt/R/arm64/include    -fPIC  -Wall -O3 -Wall -pedantic -fdiagnostics-color=always -c cytoframeAPI.cpp -o cytoframeAPI.o
   In file included from cytoframeAPI.cpp:1:
   In file included from /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11.hpp:10:
   /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11/external_pointer.hpp:17:3: warning: delete called on non-final 'cytolib::CytoFrameView' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
     delete obj;
     ^
   /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11/external_pointer.hpp:20:42: note: in instantiation of function template specialization 'cpp11::default_deleter<cytolib::CytoFrameView>' requested here
   template <typename T, void Deleter(T*) = default_deleter<T>>
                                            ^
   1 warning generated.
   clang++ -arch arm64 -std=gnu++11 -I"/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/include" -DNDEBUG -DROUT -I../inst/include -DBOOST_NO_AUTO_PTR -Wno-pedantic -I'/Users/romainfrancois/.R/library/4.3/cpp11/include' -I'/Users/romainfrancois/.R/library/4.3/BH/include' -I'/Users/romainfrancois/.R/library/4.3/RProtoBufLib/include' -I'/Users/romainfrancois/.R/library/4.3/cytolib/include' -I'/Users/romainfrancois/.R/library/4.3/Rhdf5lib/include' -I/opt/R/arm64/include    -fPIC  -Wall -O3 -Wall -pedantic -fdiagnostics-color=always -c cytosetAPI.cpp -o cytosetAPI.o
   In file included from cytosetAPI.cpp:2:
   In file included from ../inst/include/flowWorkspace/pairVectorCpp11Convert.h:10:
   In file included from /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11.hpp:10:
   /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11/external_pointer.hpp:17:3: warning: delete called on non-final 'cytolib::CytoFrameView' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]
     delete obj;
     ^
   /Users/romainfrancois/.R/library/4.3/cpp11/include/cpp11/external_pointer.hpp:20:42: note: in instantiation of function template specialization 'cpp11::default_deleter<cytolib::CytoFrameView>' requested here
   template <typename T, void Deleter(T*) = default_deleter<T>>
                                            ^
   1 warning generated.

but also:

   ld: library not found for -lcrypto
   clang: error: linker command failed with exit code 1 (use -v to see invocation)
   make: *** [flowWorkspace.so] Error 1
   ERROR: compilation failed for package ‘flowWorkspace’

I have not ben able to sort that out yet.

E NanoMethViz NA                         ── E: 1/1   | W: 1/1   | N: 1/1

Locally, this gives:

❯ checking Rd \usage sections ... WARNING
  Undocumented arguments in documentation object 'plot_region'
    ‘heatmap_subsample’

  Functions with \usage entries need to have the appropriate \alias
  entries, and all their arguments documented.
  The \usage entries must correspond to syntactically valid R code.
  See chapter ‘Writing R documentation files’ in the ‘Writing R
  Extensions’ manual.

❯ checking package dependencies ... NOTE
  Imports includes 34 non-default packages.
  Importing from so many packages makes the package vulnerable to any of
  them becoming unavailable.  Move as many as possible to Suggests and
  use conditionally.

❯ checking installed package size ... NOTE
    installed size is 11.0Mb
    sub-directories of 1Mb or more:
      R     2.1Mb
      doc   5.4Mb

0 errors ✔ | 2 warnings ✖ | 2 notes ✖
Error: R CMD check found WARNINGs
Execution halted

Exited with status 1.

so I think it's fine.

E ncdfFlow NA                            ── E: 1/1   | W: 1/1   | N: 1/1

dev version not using cpp11, but rather Rcpp / RcppArmadillo / BH ... and also getting the ld: library not found for -lcrypto thing ...

E openCyto NA                            ── E: 1/1   | W: 1/1   | N: 1/1  

this does not use cpp11