johnboiles / coremediaio-dal-minimal-example

Intended to be the most minimalistic example of a macOS CoreMediaIO DAL plugin.
MIT License
210 stars 31 forks source link

Missing compatible arch even though compatible arch is there. #23

Open objectivecosta opened 3 years ago

objectivecosta commented 3 years ago

Hello, everyone.

I'm receiving this weird "incompatible architecture" error when I look at the console:

Error loading /Library/CoreMediaIO/Plug-Ins/DAL/CMIOMinimalSample.plugin/Contents/MacOS/CMIOMinimalSample: dlopen(/Library/CoreMediaIO/Plug-Ins/DAL/CMIOMinimalSample.plugin/Contents/MacOS/CMIOMinimalSample, 0x0106): missing compatible arch in /Library/CoreMediaIO/Plug-Ins/DAL/CMIOMinimalSample.plugin/Contents/MacOS/CMIOMinimalSample

However, when I run lipo -info on the file, I get:

Architectures in the fat file: CMIOMinimalSample.plugin/Contents/MacOS/CMIOMinimalSample are: x86_64 arm64

Which should cover all arches supported by macOS.

Anyone ever encounter anything similar? I've tried chowning the entire .plugin to be root owned and 777 permissions, but to no avail.

objectivecosta commented 3 years ago

To anyone experiencing this: on ARM MacBooks, I'm not getting the usual library validation errors, but it appears to be just that. Trying on a custom-wrote software using dlopen to open the library inside the plugin, it gave a more correct error message and testing on x86 confirmed that this was the issue.

Does this merit an update to the README? I'd be up to writing and PR-ing it @johnboiles

goldscu commented 3 years ago

I have the same issue, plugin can not be loaded in arm64 Mac, can any one help?

Foxei commented 3 years ago

I compiled (PTPWebcam)[https://ptpwebcam.org] for my M1 Mac Mini and run into this Issue as well. I can only say that it fixed itself (aside of the usually validation issue) after I change some Xcode settings. I change the build mode to "Any Mac" and compiled in Release mode instead of Debug the console started to show the validation error instead of the arch error. Maybe try this here as well.

johnboiles commented 2 years ago

@objectivecosta is this still a thing? I've been able to run universal builds for virtual cameras without issue. I'm def open to adding more stuff to the README to help people with gotchas. What exactly would you add?