Hi Steve,
On 12 June 2023 at 14:41, Steve Langasek wrote: | Package: r-cran-bh | Version: 1.74.0-2 | User: ubuntu-de...@lists.ubuntu.com | Usertags: origin-ubuntu mantic | Affects: r-cran-rstan/2.21.8-1 | | Hi Dirk, | | r-cran-rstan 2.21.8-1 is failing to build from source in Debian and Ubuntu | on 32-bit architectures because it exhausts the 32-bit virtual memory space. | | The r-cran-rstan maintainer has reported this upstream at | <https://github.com/stan-dev/rstan/issues/1032>, where it's been noted that | the module builds on 32-bit when using the upstream CRAN BH, which points to | boost 1.81 headers whereas the r-cran-bh package in Debian is still at boost | 1.74. | | I've tested locally, and find that depending on libboost1.81-dev instead of | libboost-dev (1.74) works. The boost 1.74->1.81 transition will happen in | the trixie cycle, but does it make sense to bump r-cran-bh ahead of time? This is a hard problem. For R, which is pretty good at 'abstracting the os layer' I maintain its package BH (in the role of upstream author / "assembler") which expands to about 156mb installed <screams> as Boost is so big: edd@rob:~$ du -csh /usr/local/lib/R/site-library/BH 156M /usr/local/lib/R/site-library/BH 156M total edd@rob:~$ Way back when when I started with BH I used the sources of what what was in Debian, that way they were in sync. And kept updating when Debian updated. That drifted, and R users (via CRAN) wanted something newer. Boost updates three times a year (Apr + Aug + Dec) and for the last few years I updated once in Dec. So that is why CRAN is now ahead with 1.81 (upstream is at 1.82), and that is what (r)stan wants. But we probably do not want BH in Debian because it is 'Yuge'. (We could though, maybe worth discussing.) So for the last few years _Debian's_ r-cran-bh was an empty virtual package dependending on what Debian has as libboost* (particularly the headers only): edd@rob:~$ cat deb/bh/debian/control Source: r-cran-bh Section: gnu-r Priority: optional Maintainer: Dirk Eddelbuettel <e...@debian.org> Build-Depends: debhelper-compat (= 11), r-base-dev (>= 4.1.1), dh-r Standards-Version: 4.6.0 Vcs-Browser: https://salsa.debian.org/edd/r-cran-bh Vcs-Git: https://salsa.debian.org/edd/r-cran-bh.git Homepage: https://cran.r-project.org/package=BH Package: r-cran-bh Architecture: all Multi-Arch: foreign Depends: ${misc:Depends}, libboost-dev (>= 1.74.0) Description: (Virtual) GNU R package to provide BH The CRAN package BH provides a (large) subset of Boost. This package tricks R into believing BH is installed when we just depend on the distribution's Boost packages. The actual set of Boost libraries could get fine-tuned. In short, we avoid doubling up the 140+ mb of the 'BH' package which are alredy in libboost-dev. edd@rob:~$ So it isn't "really" 1.74, that is simply the last time we edited the shell that this provides. Hence "no bumping". We have to wait for 1.81. (Or we decide to pull the bandaid and inject 150mb of BH as r-cran-bh. At least it will be Architecture: all as a header-only package.) Thoughts from your side? Is any of this making sense to you? Happy to chat more. Thanks as always for looking after Debian and Ubuntu! Best, Dirk -- dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org