You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[R][C++] How to build R package without URI parser #55454
Describe the bug, including details regarding any error messages, version, and platform.
Since #51244 we download URI parser at buildtime. This generally should be OK, but if there is a network failure, we must degrade gracefully on CRAN. We were contacted by CRAN about the Fedora build, but this would happen to any machine where the sources for URI parser are not available (e.g. because of network failure) and URI parser is not already installed on the system (with a sufficient version).
The R package falls back to building a very limited version of itself when there are network connectivity issues but we don't turn off enough features (or it's not possible to turn off enough features) that we don't subsequently attempt to download URI parser (which also failed). We need to do something here to work around this: either vendoring this source again (possibly only with the R package), hosting other versions of the source in more reliable places, find a way to disable the features that rely on URI parser and disable it when we run into these kinds of network failures.
I got Claude to check for other dependencies that could fail the same way: required unconditionally by the C++ build and downloaded at build time, so turn_off_all_optional_features() in r/tools/nixlibs.R can't avoid them.
It found one more: xsimd. Only two resolve_dependency() calls in ThirdpartyToolchain.cmake sit outside any ARROW_* gate, xsimd and uriparser. xsimd became mandatory in #49940 (25.0.0), which removed the ARROW_USE_XSIMD gate, so the -DARROW_SIMD_LEVEL=NONE flags the R fallback passes no longer disable anything. Without network or a system xsimd >= 14.2.0 the fallback fails on xsimd before it reaches uriparser, so we might want a fix here to cover both or a followup issue.
Activity
thisisnic commentedon Nov 9, 2026
I got Claude to check for other dependencies that could fail the same way: required unconditionally by the C++ build and downloaded at build time, so
turn_off_all_optional_features()inr/tools/nixlibs.Rcan't avoid them.It found one more: xsimd. Only two
resolve_dependency()calls inThirdpartyToolchain.cmakesit outside anyARROW_*gate, xsimd and uriparser. xsimd became mandatory in #49940 (25.0.0), which removed theARROW_USE_XSIMDgate, so the-DARROW_SIMD_LEVEL=NONEflags the R fallback passes no longer disable anything. Without network or a system xsimd >= 14.2.0 the fallback fails on xsimd before it reaches uriparser, so we might want a fix here to cover both or a followup issue.GH-55454: [R][C++] Vendor URI parser for the R library (#55461)
jonkeane commentedon Nov 10, 2026
Issue resolved by pull request 55461
#55461