Sample Header Ad - 728x90

.NET 5 issue on "old" arm64 / how to publish for arm64/gcc4.x

1 vote
0 answers
69 views
### Background I'm having more success than expected running binaries from a (relatively simple) C# program on "antiquated" arm and arm64 systems built on linux-x64 and published with RIDs linux-arm and linux-arm64. On one machine I get the following, however: symbol _ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference According to some information I found, the reason is that from gcc-5 onward, the c++ ABI has changed. Indeed this system is a glibc-2.20 compiled with gcc-4.9.4. ### My questions: - is there any already available RID which publishes binaries known to be compatible with gcc-4.9 on arm64 (all RIDs are [here](https://github.com/dotnet/runtime/blob/main/src/libraries/Microsoft.NETCore.Platforms/src/runtime.json)) ? (I've tried some of "the oldest" I could find from the list, that support arm64, but none worked). - if not, would it be feasible to build the SDK in e.g. a wheezy arm64 container (I've had success with this compiling for glibc-2.19 compatibility). - if I have a custom-build cross-SDK, how can I add a RID so I can use it in the standard dotnet publish workflow? (I build on linux-x64 for linux-arm*)
Asked by ppenguin (115 rep)
Oct 6, 2021, 11:18 PM