Skip to content

Cannot initialize the library on .NET 6.0 (MacOS arm64)

Summary

LibVLCSharp shared library (tried on v3.6.6) cannot be initialized when run in a .NET 6.0 project compiled on a MacOS arm64. Rolling back to .NET 5.0 (now out of support) solves the issue.

Minimal project and steps to reproduce

Core.Initialize(Directory.GetCurrentDirectory());

Does it work on other plaforms? Does it work with the official VLC apps?

It does seem to work on a MacOS x64.

Relevant LibVLC logs and/or screenshots

Core.Initialize(Directory.GetCurrentDirectory());

Results in:

Unable to load shared library 'libvlc' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(liblibvlc, 0x0001): tried: 'liblibvlc' (no such file), '/usr/local/lib/liblibvlc' (no such file), '/usr/lib/liblibvlc' (no such file), '/Users/mpazzaglia/Projects/test_bug_async/InimAudioServer/console_ias/bin/OSX Debug/liblibvlc' (no such file), '/usr/local/lib/liblibvlc' (no such file), '/usr/lib/liblibvlc' (no such file) |    at LibVLCSharp.Shared.Core.Native.LibVLCVersion()
   at LibVLCSharp.Shared.Core.EnsureVersionsMatch()
   at LibVLCSharp.Shared.Core.Initialize(String libvlcDirectoryPath)

Environment

  • OS: MacOS
  • Version 12.1
  • LibVLC version and architecture 3.6.6 arm64
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information