Closed colindean closed 4 years ago
The error message says
Dyld Error Message:
Symbol not found: _objc_alloc_init
Referenced from: /Library/Application Support/obs-studio/*/obs-mac-virtualcam.so (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libobjc.A.dylib
so the OS version may indeed be the problem. We had some people try older versions of macOS, but as far as I know no-one actually did it. It'd be nice if users of older macOS versions could report.
Let's repurpose this issue to be about support for older macOS versions. I don't currently support anything before 10.15 (Catalina). But if someone wanted to put in the work to add support for older versions that'd be great (as long as it doesn't add too much complexity to the codebase)
I'm on 10.14, also have the latest OBS 25.0.8, and installed the 1.0 release package of obs-mac-virtualcam. I don't have a crash, and I see the menu item for starting the virtual camera, but I don't see the camera in photobooth, chrome, or firefox after starting the virtual camera and restarting photobooth, chrome, etc. I'm happy to try to find error logs if they would be helpful, but don't know enough about OBS to know where to look.
Maybe try opening Console.app, then opening OBS, and then start a movie recording in QuickTime. Then see if you see anything in console about obs-mac-virtualcam
Hi.
Maybe try opening Console.app, then opening OBS, and then start a movie recording in QuickTime. Then see if you see anything in console about
obs-mac-virtualcam
I did it (also on Mojave 10.14.6):
Logs from Console.app:
default 23:55:51.459641 +0100 QuickTime Player Error loading /Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin/Contents/MacOS/obs-mac-virtualcam: dlopen(/Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin/Contents/MacOS/obs-mac-virtualcam, 0x0106): symbol '_objc_opt_class' not found, expected in '/usr/lib/libobjc.A.dylib', needed by '/Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin/Contents/MacOS/obs-mac-virtualcam'
default 23:55:51.459743 +0100 QuickTime Player Cannot find function pointer PlugInMain for factory <CFUUID 0x60000292ef00> 35FDFF29-BFCF-4644-AB77-B759DE932ABE in CFBundle/CFPlugIn 0x7fbd257243b0 </Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin> (bundle, not loaded)
Here's the portion of my logs that seem relevant (again, on macOS Mojave 10.14.6). I started the virtual camera from the menu item, then launched quicktime and did not see it, then I stopped the virtual camera (which apparently generated a bit of logging as well)
Edit: Here are my quicktime logs, which are similar to the ones posted above:
Thanks for the reports. Looks like all of the above have Symbol not found: _objc_opt_class
. That's probably the place to start for supporting macOS < 10.15
So I followed the very convenient and straightforward build instructions (improved them a smidge in #89 and a little more in #90) and was able to build OBS and this plugin just fine, and it works: I was able to get an OBS Virtual Cam working in Firefox on https://meet.jit.si. It didn't work in Zoom but that's a known issue, IIRC.
I think the "trick" is going to be building the plugin on CI targeting an older version of macOS.
It appears that Github Actions supports only building on 10.15 (see runs-on
docs) so maybe there's something to put into the build process to tell the compiler to target an older version of the macOS SDK.
I don't really know Xcode/CMake stuff, but I notice in src/dal-plugin/Info.plist
that there's an DTSDKName
key with a value of macosx10.15
. Maybe that could be 10.14?
I don't really have experience with this either, but perhaps https://stackoverflow.com/a/58653850 is useful?
Thanks for noting that compiling the plugin works!
I compiled this plugin and obs on macos 10.14. It works! At least, I was able to see it in Chrome (using jitsi), and things seemed to work well. When I tried to use it from Quicktime, I was able to select the virtual camera, but I couldn't get it to show anything but the test card.
@colindean it's worth a try to change that I guess, but I don't think the Info.plist affects compilation or linking (though I might be wrong).
Get this errors when trying to make:
AleDesktops-iMac:build aledesktop$ make -j Scanning dependencies of target obs-plugin Scanning dependencies of target dal-plugin [ 7%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/MachClient.mm.o [ 15%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/Device.mm.o [ 23%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/PlugIn.mm.o [ 53%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/PlugInMain.mm.o [ 53%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/PlugInInterface.mm.o [ 53%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/ObjectStore.mm.o [ 53%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/Stream.mm.o [ 61%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/CMSampleBufferUtils.mm.o [ 69%] Building CXX object src/dal-plugin/CMakeFiles/dal-plugin.dir/TestCard.mm.o [ 84%] Building CXX object src/obs-plugin/CMakeFiles/obs-plugin.dir/plugin-main.mm.o [ 84%] Building CXX object src/obs-plugin/CMakeFiles/obs-plugin.dir/MachServer.mm.o /Users/aledesktop/source/obs-mac-virtualcam/src/dal-plugin/ObjectStore.mm:89:14: error: use of undeclared identifier 'kCMIODevicePropertyDeviceHasStreamingError'; did you mean 'kCMIODevicePropertyDeviceHasChanged'? case kCMIODevicePropertyDeviceHasStreamingError: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kCMIODevicePropertyDeviceHasChanged /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/CoreMediaIO.framework/Headers/CMIOHardwareDevice.h:475:5: note: 'kCMIODevicePropertyDeviceHasChanged' declared here kCMIODevicePropertyDeviceHasChanged = 'diff', ^ /Users/aledesktop/source/obs-mac-virtualcam/src/dal-plugin/ObjectStore.mm:89:14: error: duplicate case value 'kCMIODevicePropertyDeviceHasChanged' case kCMIODevicePropertyDeviceHasStreamingError: ^ /Users/aledesktop/source/obs-mac-virtualcam/src/dal-plugin/ObjectStore.mm:41:14: note: previous case defined here case kCMIODevicePropertyDeviceHasChanged: ^ 2 errors generated. make[2]: *** [src/dal-plugin/CMakeFiles/dal-plugin.dir/ObjectStore.mm.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [src/dal-plugin/CMakeFiles/dal-plugin.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /Users/aledesktop/source/obs-mac-virtualcam/src/obs-plugin/plugin-main.mm:34:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ 1 warning generated. [ 92%] Linking CXX shared module obs-mac-virtualcam.so [ 92%] Built target obs-plugin make: *** [all] Error 2
@Mesihas - what version of macOS are you on?
I'd like to add a request for High Sierra (10.13.6) as it's the last OS X to support Syphon. Syphon is a great frame serve protocol that OBS uses (as well as MANY other audiovisual applications). Unfortunately the only way to get Syphon working on newer OS X versions is to disable system integrity protection.
And unfortunately for me, High Sierra is the last OS X version to support accelerated Nvidia drivers. Anything would be appreciated.
@OBS127 shared this video on building things from source also that might come in handy for folks trying to run this on old macOS https://www.youtube.com/watch?v=CIYeb2m5a0g
@jasongrout that stack overflow link looks like the right direction for sure.
@mlalgjar if you want to help make this happen, please post your logs from OBS and Console.app. We don't have any logs from 10.13 yet I don't think. The first step is to understand what doesn't work.
@jasongrout 10.14.6
More possibly relevant links for compiling on 10.15 for < 10.15.
@jasongrout figured this out in #94! Thanks @jasongrout!! For those of you on 10.14, go try it by downloading the pkg file in the artifacts here and report back
For those of you on 10.13, we can try that next. Hopefully it's just as simple.
I just tried compiling on 10.13.6 with xcode 10.1 (Build version 10B61). I got what looks like the same error that @Mesihas posted above:
/<snip>/obs-mac-virtualcam/src/dal-plugin/ObjectStore.mm:89:14: error: use of undeclared identifier 'kCMIODevicePropertyDeviceHasStreamingError'; did you
mean 'kCMIODevicePropertyDeviceHasChanged'?
case kCMIODevicePropertyDeviceHasStreamingError:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kCMIODevicePropertyDeviceHasChanged
/System/Library/Frameworks/CoreMediaIO.framework/Headers/CMIOHardwareDevice.h:475:5: note: 'kCMIODevicePropertyDeviceHasChanged' declared here
kCMIODevicePropertyDeviceHasChanged = 'diff',
^
/<snip>/obs-mac-virtualcam/src/dal-plugin/ObjectStore.mm:89:14: error: duplicate case value 'kCMIODevicePropertyDeviceHasChanged'
case kCMIODevicePropertyDeviceHasStreamingError:
^
/<snip>/obs-mac-virtualcam/src/dal-plugin/ObjectStore.mm:41:14: note: previous case defined here
case kCMIODevicePropertyDeviceHasChanged:
^
2 errors generated.
make[2]: *** [src/dal-plugin/CMakeFiles/dal-plugin.dir/ObjectStore.mm.o] Error 1
make[2]: INTERNAL: Exiting with 7 jobserver tokens available; should be 6!
make[1]: *** [src/dal-plugin/CMakeFiles/dal-plugin.dir/all] Error 2
make: *** [all] Error 2
@Mesihas - what version of xcode do you have? xcodebuild -version
@jasongrout are you testing with a 10.13 vm or do you have a 10.13 computer around also? I'm trying your simple fix for 10.13 as well https://github.com/johnboiles/obs-mac-virtualcam/pull/96
I have a 10.13 computer that I thought I'd try compiling on before doing the fix. I'll try what you have in #96.
Looks like xcode 10.2 requires Mojave, so if the error above came from having too old of an xcode, I can't change that.
10.13 should also be supported now in the pkg installer [here]. I'd love for a few people to confirm it works for them on 10.13 before I cut the release.
Thanks @jasongrout for all your help!
@jasongrout figured this out in #94! Thanks @jasongrout!! For those of you on 10.14, go try it by downloading the pkg file in the artifacts here and report back
For those of you on 10.13, we can try that next. Hopefully it's just as simple.
It's working for me now on 10.14 π₯³
I'm really hoping someone could at least entertain the thought of making the plugin work within OS10.12, which requires using OBS 24.06 (higher versions of OBS don't work on 10.12). Is there an obvious hurdle to doing this, given the recent success with 10.13? I'd love to help out by writing something myself but don't have the chops/experience/background/basic knowledge/tools/competence/etc. But it'd be great if anyone could say if that request is actually viable or not (I assume the OBS code base is changed significantly from v24 to 25). Apologies for the noise, but not sure where else to post this kind of a query.
YES! YES! It Loaded in properly and appears to be doing what it's supposed to, but I need time to work with it as all I see is the mirrored repeat that is typical of these types of cameras (Am I explaining it right? LOL).I need to get to bed and play with it tomorrow evening to understand it better.
I feel like I'm a part of history in the making! I'll get back to you!
Thanks so much! Frank
On Thu, May 14, 2020 at 3:03 AM John Boiles notifications@github.com wrote:
10.13 should also be supported now in the pkg installer [here]. I'd love for a few people to confirm it works for them on 10.13 before I cut the release.
Thanks @jasongrout https://github.com/jasongrout for all your help!
β You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/johnboiles/obs-mac-virtualcam/issues/85#issuecomment-628432285, or unsubscribe https://github.com/notifications/unsubscribe-auth/APSJLS7FB7WQP6PHXCIINU3RROJS5ANCNFSM4M7GCV5A .
Oops! Now it's totally black! I might have been looking at a source that was already on when I said it was mirroring. I'm sure it's something I need to learn how to do, but if you have any steps to follow it would be appreciated. It loaded in perfectly and the interface looks great! Thanks!
On Thu, May 14, 2020 at 5:17 AM Frank Cantafio frankcantafio30@gmail.com wrote:
YES! YES! It Loaded in properly and appears to be doing what it's supposed to, but I need time to work with it as all I see is the mirrored repeat that is typical of these types of cameras (Am I explaining it right? LOL).I need to get to bed and play with it tomorrow evening to understand it better.
I feel like I'm a part of history in the making! I'll get back to you!
Thanks so much! Frank
On Thu, May 14, 2020 at 3:03 AM John Boiles notifications@github.com wrote:
10.13 should also be supported now in the pkg installer [here]. I'd love for a few people to confirm it works for them on 10.13 before I cut the release.
Thanks @jasongrout https://github.com/jasongrout for all your help!
β You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/johnboiles/obs-mac-virtualcam/issues/85#issuecomment-628432285, or unsubscribe https://github.com/notifications/unsubscribe-auth/APSJLS7FB7WQP6PHXCIINU3RROJS5ANCNFSM4M7GCV5A .
Nope! It does work! I tried something and it showed me that it's working! However, it is still repeatedly mirroring. i understand it's a normal function and will figure it out. You guys are AWESOME! Definitely bedtime! LOL.
On Thu, May 14, 2020 at 5:26 AM Frank Cantafio frankcantafio30@gmail.com wrote:
Oops! Now it's totally black! I might have been looking at a source that was already on when I said it was mirroring. I'm sure it's something I need to learn how to do, but if you have any steps to follow it would be appreciated. It loaded in perfectly and the interface looks great! Thanks!
On Thu, May 14, 2020 at 5:17 AM Frank Cantafio frankcantafio30@gmail.com wrote:
YES! YES! It Loaded in properly and appears to be doing what it's supposed to, but I need time to work with it as all I see is the mirrored repeat that is typical of these types of cameras (Am I explaining it right? LOL).I need to get to bed and play with it tomorrow evening to understand it better.
I feel like I'm a part of history in the making! I'll get back to you!
Thanks so much! Frank
On Thu, May 14, 2020 at 3:03 AM John Boiles notifications@github.com wrote:
10.13 should also be supported now in the pkg installer [here]. I'd love for a few people to confirm it works for them on 10.13 before I cut the release.
Thanks @jasongrout https://github.com/jasongrout for all your help!
β You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/johnboiles/obs-mac-virtualcam/issues/85#issuecomment-628432285, or unsubscribe https://github.com/notifications/unsubscribe-auth/APSJLS7FB7WQP6PHXCIINU3RROJS5ANCNFSM4M7GCV5A .
When I tried to use it from Quicktime, I was able to select the virtual camera, but I couldn't get it to show anything but the test card.
This now works for me. I think it just needed a reboot.
10.13.6 here. I installed OBS latest. Ran it and it works fine. I downloaded the latest pkg 5db91b4-v1.0.0 and installed it. OBS will not open at all. Bounces and closes.
Main error in the Apple log.
Dyld Error Message:
Symbol not found: _objc_alloc_init
Referenced from: /Library/Application Support/obs-studio/*/obs-mac-virtualcam.so (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libobjc.A.dylib
10.13 should also be supported now in the pkg installer [here]. I'd love for a few people to confirm it works for them on 10.13 before I cut the release.
Thanks @jasongrout for all your help!
unfortunately it doesnt work for me and OBS wont open at all anymore. I did remove the OBS folder/uninstall and then reboot and reinstall (but no package) and OBS will not open. Just bounces, and closes.
IS there anyway i can find all teh files the package installed in case for some reason its the older one and i cant overwrite it? Or is there another issue. Let me know what you need from me to support investigating.
Hey @ashleyjamesbrown, regarding your first comment: this is not the newest installer. Try this one. (The readme link is probably wrong, I'll double check)
IS there anyway i can find all teh files the package installed in case for some reason its the older one and i cant overwrite it? Or is there another issue. Let me know what you need from me to support investigating.
See the uninstalling section in the wiki under Installation
Hey @ashleyjamesbrown, regarding your first comment: this is not the newest installer. Try this one. (The readme link is probably wrong, I'll double check)
legend. yes the readme/releases seems wrong. ill give that a go.
Ok I added a new release to the releases section and it should work if you (and everyone else) downloads it from there
IT WORKS !!! Thanks so much. A quick install, reboot and Start Virtual Cam and it appeared in jit.si as a device to select. Yes its wierdly flipped everything but ill just transform everything in OBS. Nice one. My DnD can have a nice overlay now :-) Much appreciated
Don't worry about the flip, it is only the preview of Jitsi. Your partner will see what you see in OBS, so if you see everything correctly in the OBS preview, so will he.
Just downloaded and installed the obs-mac-virtualcam-a5a1e9e-master.pkg on my High Sierra 10.13.6 system running OBS 25.0.8 and it seems to work great! Also connects fine to Zoom 4.6.10 and 5.0.2. So grateful for the work that's be done on this package!! :))
I also used obs-mac-virtualcam-09a3abf-master.pks in Mojave 14.0.6 and it works fine with Zoom 5.0.2. IT'S ALIVE!!!!! MUHAAAAAA!!!
Thanks guys!. Looking great!
Ok great! Thanks for all the reports y'all! And thanks especially to @jasongrout who drove this effort!
Just promoted the pre-release @gxalpha made to a full release with v1.1.0 :tada:
I played with it a bit today and am not sure how to set it up to display more than one window at a time if that is the intention. Do I try to layer the sources together and it will display everything through quicktime or wherever. Not sure what to do.
Also I was happy that it appeared in Facetime, but it stays at the logo. I did call myself to see if it would activate it through a call, but it didn't seem to.
Grateful that you did this. I'll figure it out.
Thanks! Frank
On Thu, May 14, 2020 at 12:29 PM John Boiles notifications@github.com wrote:
Closed #85 https://github.com/johnboiles/obs-mac-virtualcam/issues/85.
β You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/johnboiles/obs-mac-virtualcam/issues/85#event-3337431640, or unsubscribe https://github.com/notifications/unsubscribe-auth/APSJLS3PZA4ENOTQ2FQOQIDRRQL6ZANCNFSM4M7GCV5A .
I realized I forgot to actually change the version in the Info.plist in the plugin. I'm wondering if that was making it so that y'all had to reboot after installing the new plugin. I've replaced the 1.1.0 release with an updated version with the correct version numbers.
If you had to reboot to make the plugin work, would you mind re-downloading 1.1.0, reinstalling it, then seeing if it works in QuickTime without a reboot? This will help inform me on whether more work is needed in #109. Thanks!!
When I installed the first release for Mojave I didn't have to reboot to make it work, it just worked strait away. But I can try 1.1.0 if you want me to do it.
Yes please, I believe only people who have the plugin installed, and then install a new version, have had to restart
ok, I installed 1.1.0 on top of the first version, started OBS then Virtual cam and QuickTime sees the virtual cam.
In my case the plugin get installed on this path: /Library/Application Support/obs-studio/plugins/obs-mac-virtualcam/bin/obs-mac-virtualcam.so
Is not showing the version number on finder (maybe will be useful) for future test
Yeah the version number is inside the Info.plist at /Library/CoreMediaIO/Plug-Ins/DAL/obs-mac-virtualcam.plugin/Contents/Info.plist
Freshly installed OBS from official (25.0.8?), freshly installed obs-mac-virtualcam from releases page on this repo.
Ran
rm -rf ~/Library/Application\ Support/obs-studio
for good measure, still crashes.Logs from macOS crash window: https://gist.github.com/colindean/de0c14c151bd05b7b1ac0312f9606f63
I'm on mac OS 10.14. Going to 10.15 isn't an option for me at this time.