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
feat: Use dynamic library linking for Linux/macOS to fix debug build heap corruption (#26)
* fix: simplify build output structure and fix CI issues
- Simplify lib output: remove platform/config subdirectories
(build-debug/release already provides separation)
- Prevent SDL3 from polluting lib directory (build to _deps/)
- Fix protobuf debug DLL naming (libprotobufd.dll)
- Sync make-release.yml Linux deps with builds.yml
- Remove macos-x64 cross-compile from release (keep arm64 only)
* fix: update CI paths and use manual copy for release bundle
* feat: use dynamic library linking for Linux/macOS to fix debug build heap corruption
- Add RPATH settings ($ORIGIN for Linux, @executable_path for macOS)
- Change livekit_ffi from static (.a) to shared library (.so/.dylib)
- Add IMPORTED_NO_SONAME to ensure relative path linking
- Copy shared library to examples bin directory
- Update make-release.yml to include bin directory with examples
- Fix double-compression issue in release workflow
This resolves the 'corrupted size vs. prev_size' error on Linux debug builds
by isolating the Rust/libwebrtc code behind a shared library boundary,
matching the Windows DLL architecture.
* fix: resolve release archive double-compression and update docs
Release workflow:
- Remove pre-compression in build jobs to avoid artifact double-zip
- Move archive creation to release job (tar.gz for Unix, zip for Windows)
- Include bin directory with example executables
Documentation:
- Update DEPENDENCIES.md for dynamic library usage
- Update README_BUILD.md with new build output structure
- Update README.md with .so/.dylib deployment requirements
* fix: create SDL3 SONAME symlink and improve release workflow
- Set RPATH to \$ORIGIN for examples to load libs from bin directory
- Create libSDL3.so.0 -> libSDL3.so.0.x.x symlink on Unix
- Copy SDL3 shared library on all platforms
- Use versioned artifact names in release workflow for cleaner structure
* fix: only create SDL3 SONAME symlink on Linux, not macOS
- macOS dylib versioning doesn't use SONAME symlinks like Linux .so files.
- Creating a symlink with the same source and target causes ELOOP error.
0 commit comments