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]

Reply via email to