Details
-
Type:
Bug
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: conda
-
Labels:None
-
Team:Architecture
-
Urgent?:No
Description
v23 builds through 23.0.1.rc4 were built using a version of rubin-env 0.8.0 that had g++ 9.4 as its compiler. The 23.0.1 release build and the attempted 23.0.2.rc1 build used a version that had g++ 10.3 as its compiler while still trying to use binaries built with the old environment for source packages that had not changed between the versions. This causes ABI incompatibilities and run-time type information (RTTI) conflicts that manifest as pybind11 being unable to match Python types with C++ function signatures.
The solution we have chosen is to pin the compilers in rubin-env 0.8.1 to g++ 9. The environment will be given a new version number to guarantee that previous "exact" environments that include g++ 10.3 will not accidentally be used.
We will try to rebuild the 23.0.1 release artifacts with the pinned compiler, and future releases in the v23 series will remain binary-compatible.
Matt Becker has approved the original (non-ticket) PR already, but it would be good to have one final check to make sure this is what we want.