Closed robmoss closed 10 months ago
Do a dpkg -L r-cran-bh
: it is an empty virtual shell. For a reason: BH has a footprint of 150mb installed and on Debian you do not need it. Use libboost-all-dev
instead.
That said, why did you think boost_lib <- system.file("include", package = "BH")
was a good idea? Besides the obvious gotcha of calling something _lib
when it checks for includes
.
Anyway, if this is handed down from rstan
than you may have not choice but to install.packages("BH")
and waste those 150mb if that is how rstan
wants to access it. It should know better (we often use configure
or cmake
).
In any event this is not an issue of the CRAN package BH where you filed the issue but with the (trying to be helpful) Debian package r-cran-bh
. I stand behind both so I can help so fire up if you have questions.
Sorry for filing the issue here rather than Debian/Ubuntu bug trackers, I wasn't sure which was the most appropriate. It's obvious in hindsight.
That said, why did you think boost_lib <- system.file("include", package = "BH") was a good idea? Besides the obvious gotcha of calling something _lib when it checks for includes.
This is how rstan
locates the boost header files when compiling a model (at least, on my Ubuntu and Debian machines).
I knew that r-cran-bh
is an empty package, but I didn't appreciate that install.packages("BH")
installed a second copy of the boost header files. So I assumed that the r-cran-bh
package would (or should) work with rstan
without any further actions on my part.
It is kinda the other way around:
install.packages("BH")
is an R function that does not know it is on Debian, it installs full BH
r-cran-bh
is a small hack attempting to save the second installation of Boost (besides libboost-*
)rstan
does not know about point 2) (not should it) so it ask "where is BH"pkg-config
because a ton of CRAN packages use that to find include and library locationsThank you very much for the explanation Dirk.
My apologies if I've missed something obvious.
I'm using RStan on several Debian and Ubuntu machines, and have installed the
r-cran-stan
andr-cran-bh
packages withapt
. RStan complains that boost cannot be found and that I should install BH. It seems this is because Rstan sets its optionboost_lib <- system.file("include", package = "BH")
and this directory doesn't exist. I either have to manually setboost_lib
to "/usr/include/boost", or create an "include" directory:Should the Debian/Ubuntu
r-cran-bh
package automatically create the above symlink when it is installed?