Skip to content

v0.2.4 / Critical fix for macOS x64 (.vcvplugin)

Choose a tag to compare

@gluon gluon released this 12 May 09:43

What's fixed

The mac-x64 .vcvplugin (VCV Rack) shipped in v0.2.0 through v0.2.3 was unloadable. LinkAudioManager symbols were undefined in the binary, causing Rack to bail with:

symbol not found in flat namespace '__ZN16LinkAudioManager11setPeerName...'

This affected:

  • Intel Mac users running VCV Rack natively
  • Apple Silicon users running VCV Rack under Rosetta in x64 mode

The mac-arm64 build, all other hosts (Max, TD, Pd), and all platforms (Windows) were unaffected.

Root cause

An arch-leakage bug in the dual-arch build script. Make compiled ../core/LinkAudioManager.cpp into vcv/core/*.cpp.o, outside of vcv/build/. The Rack SDK's make clean only wipes vcv/build/, leaving the arm64 .o behind. The subsequent x64 link step silently picked up the stale arm64 object (ld: warning: ignoring file ... required arch x86_64) and produced a plugin.dylib missing all core symbols.

What's in this release

Same code as v0.2.3 — no source code changes. Just a clean, properly-linked mac-x64 build, plus an updated build script (with a defensive nm-based symbol check so this regression can never happen silently again).

Other hosts (Max, TD, Pd) are republished at v0.2.4 for version alignment. Their binaries are unchanged from v0.2.3.

Install

If you hit the dlopen error on mac-x64, replace your .vcvplugin with the one from this release. Mac binaries are signed and notarized.

Assets

  • VoidLinkAudio-Max-v0.2.4.zip — Max package + externals (Mac + Windows)
  • VoidLinkAudio-TD-v0.2.4.zip — TouchDesigner CHOPs (Mac + Windows)
  • VoidLinkAudio-Pd-v0.2.4.zip — Pure Data externals (Mac Universal + Win x64)
  • VoidLinkAudio-VCV-v0.2.4.zip — VCV Rack plugin (Mac arm64, Mac x64 (now fixed), Win x64)