New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can I remove BH after installing dplyr? #4148
Comments
We'll eventually remove the |
@romainfrancois it would be great if BH could be removed. Due to recent updates in a few tidyverse packages, I ran into a lot of trouble during an exam because some students tried to reinstall tidyverse. First it tried to install from source, then it blocked at installing BH. I know this is not to be blamed on tidyverse but on my students. Still, it's almost impossible to get BH downloaded over the internet connection at our PC rooms when 35 students do that simultaneously. They lost about an hour of the exam before I could fix it on all computers. So removing the BH dependency would be an absolutely great thing for us. |
I know. That’s similar to why we want to let it go. dplyr only uses two things :
|
Thank you, @romainfrancois! Really appreciate the help. |
This old issue has been automatically locked. If you believe you have found a related problem, please file a new issue (with reprex) and link to this issue. https://reprex.tidyverse.org/ |
I know there are several related threads of conversation here and elsewhere concerning the dependency of
dplyr
onBH
(e.g. here, here, and here). I also posted about this on Rstudio Community and Stack Overflow, but I haven't really made any headway on a concrete answer.I know that Writing R Extensions is pretty explicit about the purpose of LinkingTo, but its material is a little over my head so I'll have to beg your patience, because I know my confusion is mostly a result of my limited understanding.
I'm working on a use case that is space-sensitive, specifically running a data pipeline in R on an AWS Lambda. An AWS Lambda function is restricted to 250MB. Because of that, we remove the
BH
package afterdplyr
has been installed - it's simply too large to use in an AWS Lambda function. This hasn't created any problems for us, but I'm trying to better understand whether we just happen to not be using any functions ofdplyr
that depend onBH
or if it's perhaps because thedplyr
dependency onBH
is only a compile-time dependency.I am unclear on the specific meaning and implication of a LinkingTo dependency vs, for example, a Depends or Imports. The explanations of LinkingTo dependencies that I've found (including that in Writing R Extensions) have sometimes given me the sense that LinkingTo dependencies are necessary for installation of the package, after which any dependent code has been wrapped in the installed package through static linking so that there is no runtime dependency. Other times it seems more ambiguous and that there can still be runtime dependencies with a LinkingTo dependency.
My general question is: can LinkingTo dependencies be removed after the package that depends on them has been installed without runtime consequences as long as the dependency isn't also listed as Depends, Imports, etc.?
My specific question is: is it safe to remove
BH
after installation ofdplyr
is complete or will it break certain functions? If it would break certain functions, will they break "loudly" such that we would know that an error has occurred and can simply choose alternative approaches to accomplishing the goal?As I mentioned, we've already removed
BH
and haven't seen any negative impacts, but this is just the first generation of this pipeline and I'd like to know what we're walking into as we expand its capabilities. Any advice on this would be much appreciated!The text was updated successfully, but these errors were encountered: