qinwf / re2r

RE2 Regular Expression in R.
https://qinwenfeng.com/re2r_doc
Other
98 stars 15 forks source link

re2r being removed from CRAN #22

Open kgjerde opened 4 years ago

kgjerde commented 4 years ago

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 https://github.com/qinwf/re2r/pull/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 commented 4 years ago

WIP https://github.com/qinwf/re2r/pull/23

CRAN will get less test cases. Sad.

https://github.com/qinwf/re2r/blob/7feece26af7af3725a673e1902a1167d78a2bd50/.Rbuildignore#L32

tdhock commented 4 years ago

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 commented 4 years ago

https://github.com/boostorg/interprocess/issues/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 <mail@qinwenfeng.com>'

  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 commented 4 years ago

related https://github.com/eddelbuettel/bh/issues/56

qinwf commented 4 years ago

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

https://github.com/boostorg/interprocess/commit/818ef814e9eb6d22cdb259600d9705149edc721f

tdhock commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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

Hangzhi commented 3 years ago

@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!