The dylibs and binaries produced by the macOS environment are not movable since their dependencies are encoded with absolute paths instead of relative paths. This means others cannot download the environment and use it, since the binaries (protoc, moc, etc.) won't work. The dylibs get fixed to be bundle-relative with install_name_tool by Mixxx's packaging process, so this is why it went unnoticed.
e.g.
otool -L environments/2.1-j00016-21856a6-osx10.7-x86_64-release/lib/libshout.dylib
environments/2.1-j00016-21856a6-osx10.7-x86_64-release/lib/libshout.dylib:
/Users/mixxx/bs-2.1-mac/amd64/environment/2.1-j00016-21856a6-osx10.7-x86_64-release/lib/libshout.3.dylib (compatibility version 6.0.0, current version 6.0.0)
/Users/mixxx/bs-2.1-mac/amd64/environment/2.1-j00016-21856a6-osx10.7-x86_64-release/lib/libvorbis.0.dylib (compatibility version 5.0.0, current version 5.8.0)
/Users/mixxx/bs-2.1-mac/amd64/environment/2.1-j00016-21856a6-osx10.7-x86_64-release/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/Users/mixxx/bs-2.1-mac/amd64/environment/2.1-j00016-21856a6-osx10.7-x86_64-release/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
The dylibs and binaries produced by the macOS environment are not movable since their dependencies are encoded with absolute paths instead of relative paths. This means others cannot download the environment and use it, since the binaries (protoc, moc, etc.) won't work. The dylibs get fixed to be bundle-relative with
install_name_tool
by Mixxx's packaging process, so this is why it went unnoticed.e.g.