Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

re2r being removed from CRAN #22

Open
kgjerde opened this issue Mar 5, 2020 · 9 comments
Open

re2r being removed from CRAN #22

kgjerde opened this issue Mar 5, 2020 · 9 comments

Comments

@kgjerde
Copy link

kgjerde commented Mar 5, 2020

I have received a mail from the CRAN maintainers because I have a CRAN package that imports re2r:

re2r will unfortunately now be removed/archived by the CRAN maintainers due to CRAN check problems (see below) (some of which seem to be addressed by @Pilipino in #21).

re2r works in many cases much faster than the other available regex implementations in R, so this is very regrettable indeed. I do not myself have the necessary C/C++ etc. competency to fix the issues.

Copied from https://cran.r-project.org/web/checks/check_results_re2r.html on 4 March 2020:

Check Details
Version: 0.2.0
Check: for GNU extensions in Makefiles
Result: NOTE
GNU make is a SystemRequirements.
Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-ix86+x86_64, r-devel-windows-ix86+x86_64-gcc8, r-patched-linux-x86_64, r-patched-solaris-x86, r-release-linux-x86_64, r-release-windows-ix86+x86_64, r-release-osx-x86_64, r-oldrel-windows-ix86+x86_64, r-oldrel-osx-x86_64

Version: 0.2.0
Check: pragmas in C/C++ headers and code
Result: NOTE
Files which contain pragma(s) suppressing diagnostics:
'inst/include/re2/prog.h' 'inst/include/re2/re2.h'
'inst/include/re2/regexp.h' 'src/dfa.cc' 'src/onepass.cc'
Flavors: r-devel-linux-x86_64-debian-clang, r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-clang, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-ix86+x86_64, r-devel-windows-ix86+x86_64-gcc8, r-patched-linux-x86_64, r-release-linux-x86_64, r-release-windows-ix86+x86_64, r-oldrel-windows-ix86+x86_64

Version: 0.2.0
Check: whether package can be installed
Result: WARN
Found the following significant warnings:
compile.cc:292:69: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class re2::Prog::Inst’; use assignment or value-initialization instead [-Wclass-memaccess]
regexp.cc:343:33: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class re2::Regexp’ with no trivial copy-assignment [-Wclass-memaccess]
regexp.cc:344:32: warning: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class re2::Regexp’ with no trivial copy-assignment [-Wclass-memaccess]
Flavors: r-devel-linux-x86_64-debian-gcc, r-devel-linux-x86_64-fedora-gcc, r-devel-windows-ix86+x86_64-gcc8, r-patched-linux-x86_64, r-release-linux-x86_64

Version: 0.2.0
Check: installed package size
Result: NOTE
installed size is 11.7Mb
sub-directories of 1Mb or more:
doc 1.5Mb
libs 9.0Mb
Flavors: r-devel-linux-x86_64-fedora-clang, r-devel-windows-ix86+x86_64, r-devel-windows-ix86+x86_64-gcc8, r-release-windows-ix86+x86_64, r-release-osx-x86_64, r-oldrel-windows-ix86+x86_64, r-oldrel-osx-x86_64

Version: 0.2.0
Check: for unstated dependencies in ‘tests’
Result: WARN
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Warning in deparse(e[[2L]]) :
it is not known that wchar_t is Unicode on this platform
Flavor: r-patched-solaris-x86

@qinwf
Copy link
Owner

qinwf commented Mar 13, 2020

WIP #23

CRAN will get less test cases. Sad.

test-unicode.R

@tdhock
Copy link

tdhock commented Mar 13, 2020

hi @qinwf if you do not have time to maintain re2r anymore, or you just want a partner to help with maintenance / bug fixes, you may think about training a student to take over maintenance as part of R-GSOC'20 https://github.com/rstats-gsoc/gsoc2020/wiki/table%20of%20proposed%20coding%20projects

@qinwf
Copy link
Owner

qinwf commented Mar 14, 2020

boostorg/interprocess#59

-Wpedantic is not an option CRAN uses. In fact, it warns against it as not portable. So when you two say "this blocks my submission" exactly what do you mean?
As of today, 152 packages on CRAN reverse-depend on BH. According to you two that would not be possible (modulo not all 152 using IPC but you get the idea).
That said, always nice to get changes into upstream. I try to update BH once or twice a year.

Now, CRAN uses -Wpedantic on r-devel Debian?

The latest result from r-devel

Dear maintainer,

package re2r_1.0.0.tar.gz does not pass the incoming checks automatically, please see the following pre-tests:
Windows: <https://win-builder.r-project.org/incoming_pretest/re2r_1.0.0_20200313_181345/Windows/00check.log>
Status: 1 NOTE
Debian: <https://win-builder.r-project.org/incoming_pretest/re2r_1.0.0_20200313_181345/Debian/00check.log>
Status: 1 WARNING, 1 NOTE

Last released version's CRAN status: WARN: 6, NOTE: 7
See: <https://CRAN.R-project.org/web/checks/check_results_re2r.html>

CRAN Web: <https://cran.r-project.org/package=re2r>

Please fix all problems and resubmit a fixed version via the webform.
If you are not sure how to fix the problems shown, please ask for help on the R-package-devel mailing list:
<https://stat.ethz.ch/mailman/listinfo/r-package-devel>
If you are fairly certain the rejection is a false positive, please reply-all to this message and explain.

More details are given in the directory:
<https://win-builder.r-project.org/incoming_pretest/re2r_1.0.0_20200313_181345/>
The files will be removed after roughly 7 days.

No strong reverse dependencies to be checked.

Best regards,
CRAN teams' auto-check service
Flavor: r-devel-linux-x86_64-debian-gcc, r-devel-windows-ix86+x86_64
Check: CRAN incoming feasibility, Result: NOTE
  Maintainer: 'Qin Wenfeng <[email protected]>'

  License components with restrictions and base license permitting such:
    BSD_3_clause + file LICENSE
  File 'LICENSE':
    YEAR: 2016-2020
    COPYRIGHT HOLDER: Qin Wenfeng

Flavor: r-devel-linux-x86_64-debian-gcc
Check: whether package can be installed, Result: WARNING
  Found the following significant warnings:
    ../inst/include/re2/regexp.h:564:5: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
    ../inst/include/re2/regexp.h:568:5: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
    ../inst/include/re2/regexp.h:572:5: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
    ../inst/include/re2/regexp.h:579:5: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
    ../inst/include/re2/prog.h:158:7: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
    dfa.cc:135:25: warning: ISO C++ forbids flexible array member 'next_' [-Wpedantic]
    onepass.cc:148:12: warning: ISO C++ forbids flexible array member 'action' [-Wpedantic]
  See '/srv/hornik/tmp/CRAN/re2r.Rcheck/00install.out' for details.

@qinwf
Copy link
Owner

qinwf commented Mar 14, 2020

related eddelbuettel/bh#56

@qinwf
Copy link
Owner

qinwf commented Mar 14, 2020

The solution they used is not available here, because CRAN does not allowpragma GCC diagnostic ignored "-Wpedantic"

boostorg/interprocess@818ef81

@tdhock
Copy link

tdhock commented Mar 23, 2020

hi @qinwf I posted a R-GSOC'20 project idea page for getting re2r back on CRAN, and listed you as a mentor https://github.com/rstats-gsoc/gsoc2020/wiki/re2r-back-on-CRAN is that ok? can you please add/edit that wiki page with some info about what the current problem is, and what other features may be good to work on during a gsoc project?

@tdhock
Copy link

tdhock commented Mar 24, 2020

also this seems to be an issue with upstream (RE2) code.. can you please file an issue with them? I don't see any outstanding issues with that warning, https://github.com/google/re2/issues?q=ISO+C%2B%2B+prohibits+anonymous+structs+

@qinwf
Copy link
Owner

qinwf commented Mar 28, 2020

@tdhock Thanks for the idea. Working on it now.

@Hangzhi
Copy link

Hangzhi commented Mar 26, 2021

@qinwf Hi qinwf, I'm a student, hoping to work on this project in GSOC 2021. There appears no issue about this problem in the RE2 repository, have you ever filed an issue about this problem in RE2? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants