eddelbuettel / bh

R package providing Boost Header files
85 stars 32 forks source link

Current version breaks CRAN checks #96

Closed tnagler closed 1 year ago

tnagler commented 1 year ago

First of all, thanks for this super useful library!

One of my packages depending on BH is seeing ERRORs on CRAN's M1Mac and r-devel-linux-x86_64-fedora-clang checks. They are caused by boost/functional.hpp using std::unary_function which was deprecated in C++11 and now removed by some new compilers. This has been fixed in the latest boost release 1.83.0.

Would be great if you could update BH soon to the latest boost release.

eddelbuettel commented 1 year ago

Hi @tnagler and thanks for the kind words. I am afraid the annual cycle is what it is so it will be December before I get to it.

Retiring std::unary_function rings a bell. I did that / had to that somewhere -- possibly https://github.com/eddelbuettel/rquantlib as the https://github.com/lballabio/QuantLib library always a heavy and early Boost user. Any change you could accomodate in your package?

There will be other changes affecting others. As you see from (parts of ) Boost 1.81 in BH, some parts now require C++14 which may bite others.

tnagler commented 1 year ago

In my specific case, boost is used for numerical integration in the vinecopulib C++ library. Then boost/odeint calls into boost/multi_array which calls into boost/functional. Except for rewriting the numerical integration part entirely, there's not much I could do.

Would it be an option to update BH with just this fix to boost/functional?

eddelbuettel commented 1 year ago

Noted.

The work load is not in pressing the 'merge' button at GitHub. The work is in me having to run the reverse dependencies, alert all affected maintainers is something changes (which is more likely than not), work out changes and provide PRs etc. In essence the "tax" on maintaining a packages with more than just a few packages using it. (Currently having a reverse depends on PR for Rcpp which will run two days on the (very old) hardware at my disposal for this.)

One (ugly but working) solution may be to "shadow" the BH package and for now double the parts you need / parts which need updating in your package (and revert once I get to 1.84). Someone else, maybe one of the stan complex packages, does something similar. Would that work?

tnagler commented 1 year ago

Yes, I'll find a way to work around the issue "locally" in the meanwhile. Thanks anyway!

eddelbuettel commented 1 year ago

Good to see you got 0.9.2 done, and sorry for the troubles. I hope 1.84 will make your life easier come Dec or Jan.

eddelbuettel commented 10 months ago

BH 1.84.0-0 is now on CRAN. I hope it will make your packaging easier. Sorry I had to stick to the standard release schedule of once a year. It's a big package.

tnagler commented 10 months ago

No worries, thanks for the update!