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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]