You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've built Ginkgo 1.7.0 with GCC + libstdc++ and installed it as a system library. But then when I try to build a project using Ginkgo with Clang + LLVM's libc++ instead of GCC's libstdc++, I get a linker error:
So Ginkgo does not have binary compatibility for the shared library linked to libstdc++ and downstream executable linking to libc++. Would it be hard to support this case? Can you give some hints how to detect this case with cmake if it can't be supported?
The text was updated successfully, but these errors were encountered:
Achieving binary compatibility with different stdlib implementations is hard to impossible if we use standard library types across the ABI boundary. We might be able to achieve this in a future major version, but it would require major restructuring.
So for now, I think this is not something we can support. I would imagine that linking against both libstdc++ and libc++ is also dangerous in terms of ODR violations, so I would not recommend it.
Can you give some hints how to detect this case with cmake if it can't be supported?
CMake still doesn't have native support for specifying stdlib implementations, so I don't really see a way to do this properly, unless you want to parse compiler flags for the standard library
I've built Ginkgo 1.7.0 with GCC + libstdc++ and installed it as a system library. But then when I try to build a project using Ginkgo with Clang + LLVM's libc++ instead of GCC's libstdc++, I get a linker error:
So Ginkgo does not have binary compatibility for the shared library linked to libstdc++ and downstream executable linking to libc++. Would it be hard to support this case? Can you give some hints how to detect this case with cmake if it can't be supported?
The text was updated successfully, but these errors were encountered: