-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
Undefined symbol _ZN3fmt2v86detail13error_handler8on_errorEPKc #2695
Comments
So, I guess any inline (e.g. template) function in any of the header files that calls |
this fixes a breaking ABI change that was introduce in the upgrade from 8.0.1 to 8.1.0. Fixes fmtlib#2695.
Same issue for Debian, https://release.debian.org/britney/pseudo-excuses-experimental.html
spdlog seems to use this symbol as well.
|
this fixes a breaking ABI change that was introduce in the upgrade from 8.0.1 to 8.1.0. Fixes #2695.
I backported #2696 to Debian, but this symbol still doesn't get exported. |
Should be fixed in 98cbb6a. Thanks for reporting! |
Upgrading fmt from 8.0.1 to 8.1.0 breaks a CI run here: https://github.com/flatsurf/flatsurf/runs/4698212878?check_suite_focus=true#step:6:554
In that CI run, we are trying to load a library, libintervalxt, which was built against fmt 8.0.1 with fmt 8.1.0 installed.
While the missing symbol is not part of the public API of fmt, it used to have
FMT_API
set in 8.0.1 but not anymore in 8.1.0. At least in the setup that the conda-forge distribution uses, this made that symbol disappear from the library. Since libraries such as libintervalxt build against the old ABI (without using this symbol explicitly in the code of course) this seems like a breaking ABI change was introduced in the 8.1.0 release.Or maybe conda-forge's libintervalxt and fmt are using the wrong compiler flags somehow?
The text was updated successfully, but these errors were encountered: