Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • evalhyd-r evalhyd-r
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 3
    • Issues 3
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

La forge institutionnelle d'INRAE étant en production depuis le 10 juin 2025, nous vous invitons à y créer vos nouveaux projets.

  • HYCAR-HydroHYCAR-Hydro
  • evalhydevalhyd
  • evalhyd-revalhyd-r
  • Issues
  • #6
Closed
Open
Issue created Jun 14, 2023 by Thibault Hallouin@thibault.hallouinOwner

crashing conditional masking when built with Rtools4.2 and later

The conditional masking in evalhyd-cpp is based on regular expressions parsed using std::regex.

When moving from R-4.1 to R-4.2, Rtools has seen some significant changes. In particular, it switched to UCRT:

Rtools42 consists of Msys2 build tools, GCC 10/MinGW-w64 compiler toolchain and libraries and QPDF. Rtools42 supports 64-bit Windows and UCRT as the C runtime. The code compiled by earlier versions of Rtools is incompatible and has to be recompiled with Rtools42 for use in R packages. Switching to UCRT allows to use UTF-8 as the native encoding on Windows.

https://cran.r-project.org/bin/windows/Rtools/rtools42/rtools.html

With the switch to UTF-8 encoding, there seems to be other packages seeing problems with std::regex:

It is known that std::regex, a C++ interface to regular expressions, is not reliable with multi-byte encodings, and this has been the case on other platforms. With the switch to UTF-8, some R packages using C++ have ran into this problem also on Windows.

https://blog.r-project.org/2022/11/07/issues-while-switching-r-to-utf-8-and-ucrt-on-windows/index.html

For evalhyd-r, this makes the masking functionality simply unusable on Windows running a version built with Rtools4.2 and later.

Edited Jun 14, 2023 by Thibault Hallouin
Assignee
Assign to
Time tracking