Skip to content

dotnet 9 fails on macOS Catalina due to a missing symbol in libc++ #45382

@artempyanykh

Description

@artempyanykh

Describe the bug

I've got a bug report from a user about dotnet 9 failing on Catalina. The relevant snippet is

dotnet --version
Failed to load /Users/adelar/.asdf/installs/dotnet-core/9.0.100/host/fxr/9.0.0/libhostfxr.dylib, error: dlopen(/Users/adelar/.asdf/installs/dotnet-core/9.0.100/host/fxr/9.0.0/libhostfxr.dylib, 1): Symbol not found: __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj
  Referenced from: /Users/adelar/.asdf/installs/dotnet-core/9.0.100/host/fxr/9.0.0/libhostfxr.dylib (which was built for Mac OS X 12.0)
  Expected in: /usr/lib/libc++.1.dylib

To Reproduce

On macOS Catalina run dotnet --version

Further technical details

MacOS 12 is Monterey; Catalina is 16. What I see in the logs is that Catalina's libc++ is missing a function:

$ c++filt __ZNSt3__113basic_filebufIcNS_11char_traitsIcEEE4openEPKcj
std::__1::basic_filebuf<char, std::__1::char_traits<char>>::open(char const*, unsigned int)

The release notes for dotnet 9 don't actually mention ending support for Catalina, so looks like a build issue in SDK (perhaps setting a wrong macos target).

Metadata

Metadata

Assignees

Labels

untriagedRequest triage from a team member

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions