Placeholder-Software / Dissonance

Unity Voice Chat Asset
71 stars 5 forks source link

Can't load Opus.bundle plugin on Mac OSX v10.3 and lower #185

Closed gsano closed 4 years ago

gsano commented 4 years ago

Hi, I'm using Disonannce v6.4.4 on Unity2018.4.20f1(LTS), Mac OSX v10.15. When I built a project with Disonnance for Mac OSX (as Mac App, not mobile app), some OSX versions can't play the app.

In the bad version's log, it says Disonannce couldn't load Opus plugin: Plugins: Couldn't open ... /opus.bundle, error: dlopen ... : Symbol not found: ____chkstk_darwin I googled this error message and it seems you might need to re-build opus.bundle with other configuration.

Is it possible for you to have a look at this case? Thank you in advance. And this is the part of the log.

GfxDevice: creating device client; threaded=1
2020-03-30 09:34:55.329 undesk_client[25731:1816655] iMac preferred device: Intel Iris Pro Graphics (high power)
2020-03-30 09:34:55.329 undesk_client[25731:1816655] Metal devices available: 1
2020-03-30 09:34:55.329 undesk_client[25731:1816655] 0: Intel Iris Pro Graphics (high power)
2020-03-30 09:34:55.329 undesk_client[25731:1816655] Using device Intel Iris Pro Graphics (high power)
Initializing Metal device caps: Intel Iris Pro Graphics
Begin MonoManager ReloadAssembly
- Completed reload, in  0.097 seconds
UnloadTime: 0.778216 ms

Plugins: Couldn't open /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Plugins/opus.bundle, error: dlopen(/private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Plugins/opus.bundle, 2): Symbol not found: ____chkstk_darwin
  Referenced from: /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Plugins/opus.bundle
  Expected in: /usr/lib/libSystem.B.dylib
 in /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Plugins/opus.bundle

Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.dylib
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.so
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.bundle
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/opus
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.dylib
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.so
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.bundle
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus
Plugins: Couldn't open /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Plugins/opus.bundle, error: dlopen(/private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Plugins/opus.bundle, 2): Symbol not found: ____chkstk_darwin
  Referenced from: /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Plugins/opus.bundle
  Expected in: /usr/lib/libSystem.B.dylib
 in /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Plugins/opus.bundle

Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.dylib
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.so
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.bundle
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/opus
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.dylib
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.so
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus.bundle
Fallback handler could not load library /private/var/folders/7v/pyptcwd52d5d7v_ch10923lw0000gn/T/AppTranslocation/BE8DEB27-8AAA-4B55-9541-538D8DF05E37/d/undesk_client 2.app/Contents/Frameworks/MonoEmbedRuntime/osx/libopus
[Dissonance:Core] (00:34:58.134) DissonanceComms: Dependency Error: opus
martindevans commented 4 years ago

It looks like this is caused by the opus.bundle being compiled using the latest SDK version, which uses a symbol that the older OS versions do not have. I think you're right that it'll need re-building with the older SDK versions.

If you email me (martin@placeholder-software.co.uk) your invoice number I can send you the code for the native plugins (including our build scripts) and you can adjust it to use whichever SDK versions you need. Dissonance uses two native plugins, so you'll need to make the same change to both opus.bundle and audioplugindissonance.bundle.

gsano commented 4 years ago

Thank you very much for your response. I sent a mail with the invoice number to your email address. Please check it.

gsano commented 4 years ago

I've received the code of native plugins and re-build with -mmacosx-version-min=10.12 build option. Now it works with the older versions of MacOSX (tested with higher than v10.12, since I specified as it is)

Thank you very much for your help.

martindevans commented 4 years ago

I'm glad we could fix that for you, thanks for updating me :)