You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "nealrichardson (via GitHub)" <gi...@apache.org> on 2023/05/08 14:38:55 UTC

[GitHub] [arrow] nealrichardson commented on issue #35472: [R] package development builds broken for Windows and MacOS

nealrichardson commented on issue #35472:
URL: https://github.com/apache/arrow/issues/35472#issuecomment-1538472383

   (Setting aside Windows), `R CMD build && R CMD INSTALL` won't work without some additional build prep to put a copy the C++ source inside the R package directory. `R CMD INSTALL` (aka `remotes::install_github('apache/arrow/r', build = FALSE)`) does work out of the box because the build script can look for the C++ source in the monorepo parent directory at `../cpp/src`. This is all using our bundled build script, not autobrew on mac.
   
   Our nightly packaging job has this pre-build step to copy in the C++ source, along with putting a copy of the homebrew/autobrew formula inside the package *and* pinning the C++ library version in the formula to the same git SHA as the R package, so that they are in sync: https://github.com/ursacomputing/crossbow/blob/nightly-packaging-2023-05-08-0-github-r-binary-packages/.github/workflows/crossbow.yml#L47-L86 After doing this, `R CMD build && R CMD INSTALL` will work.
   
   Windows is different and we don't currently have a path that will call the mingw makepkg command to build the C++ libraries at R package installation time. Presumably it could be done, but I don't think there's much interest in it.
   
   As @paleolimbot says, we could (just) download the latest nightly binary packages instead of building from source, and that will almost always work. That's probably the way to go on Windows; on mac/linux, there's probably an env var we'll want to expose to control that behavior--perhaps it's the fallback you get instead of `*** Proceeding without libarrow (no local source)`, and you can opt-in to it even if you have the source available?
   
   As for our nightly binary packaging workflow, I'm not sure what's going on. The job that builds them continues to report success (latest: https://github.com/ursacomputing/crossbow/actions/runs/4906238724/jobs/8760994170). I don't see where they are uploaded to the nightlies repository though, and I have a faint recollection that that's a separate process. @assignUser do you know what's up, and why we aren't seeing that the packages aren't being successfully uploaded?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org