Skip to content
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

StanHeaders 2.26 - Backport Eigen 3.4 Compatibility #2888

Closed
wants to merge 1 commit into from

Conversation

andrjohns
Copy link
Collaborator

@hsbadr This PR backports the Math header changes from the Eigen 3.4 compatibility PR to StanHeaders 2.26

With this PR and #2887, both StanHeaders 2.26 and 2.31 will be compatible with both RcppEigen 3.3.9 and 3.4.0. This also resolves the ctsem error from the update issue, and means that all rstan-based packages will be compatible with RcppEigen 3.4.0 once StanHeaders 2.26 is on CRAN

@hsbadr
Copy link
Member

hsbadr commented Mar 28, 2023

Why would we need this? RcppEigen hasn't been updated on CRAN, and StanHeaders v2.26 is a temporary release that will be followed by v2.31+ that's compatible with Eigen v3.4.

@andrjohns
Copy link
Collaborator Author

So that there's no dependence on either package being released first. Currently StanHeaders 2.31 requires RcppEigen 3.4.0, but v3.4.0 requires StanHeaders 2.31

@hsbadr
Copy link
Member

hsbadr commented Mar 28, 2023

This will break some dependencies with the current version of RcppEigen on CRAN. I suggest that we release v2.26 now & take care of Eigen update with the next release.

@andrjohns
Copy link
Collaborator Author

This will break some dependencies with the current version of RcppEigen on CRAN

What do you mean? This is all valid 3.3.9 syntax, it makes 2.26 compatible with both

I suggest that we release v2.26 now & take care of Eigen update with the next release.

In an ideal world that would be the solution, but we don't know much longer it's going to take to get rstan to CRAN after StanHeaders, before StanHeaders 2.31 can be submitted

@hsbadr
Copy link
Member

hsbadr commented Mar 28, 2023

This is all valid 3.3.9 syntax

Can you confirm this with reverse dependency checks? I remember that v2.31 failed a few dependencies, including rstanarm, with Eigen < 3.4.

@andrjohns
Copy link
Collaborator Author

I've run them with 2.31 (and #2887) and RcppEigen 3.3.9, and all packages (or their compatibility PRs) passed

But this is also what I mean - if v2.31 were to depend on RcppEigen 3.4 for checks to pass, then RcppEigen needs to be released first and compatible with 2.26.

@andrjohns
Copy link
Collaborator Author

But at the same time, this is more of a just-in-case PR and can always be included in a future 2.26 CRAN update if needed. I'm happy to close now and we can revisit later if it comes up

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants