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
UBI9 installs the gcc-12 aligned toolchain as a dependency for clang.
Clang picks up the gcc-12 aligned toolchain and symbols and adds a call
to `glibcxx::__assert_fail`, which is not in the gcc-11 aligned
libstdc++. To work with this when dynamically linking, the gcc-12
toolset contains a `libstdc++_noshared.a` static archive, which gets
linked into the shared libraries and executables much like our
compatibility libraries, and provides the missing symbols on top of the
gcc-11 runtime that is already on UBI9 systems.
Of course, folks want to be able to statically link the stdlib into
their binaries, and we avoid overlinking and symbol collisions by not
linking the libstdc++_noshared.a static archive into the libswiftCore.a.
Of course, this means that there is no definition for the symbol when it
comes time to link the static stdlib on a base UBI9 image.
I've decided to just build the library against what is installed on the
base system, so that we don't need to install anything additional to
build and copy the binary to other systems running the same OS.
0 commit comments