Failed to Load Custom Analyzer (saleae_spdif on Apple M2)

I’m trying to get the SPDIF analyzer working on Logic2, but running into some issues.

I was able to download and build the analyzer, moved the libAnalyzer.dylib to the saleae custom analyzer directory and restarted Logic2.

When I restarted, I got “Failed to Load Custom Analyzer… Loaded library does not have required functions”
Does this mean it will only work on logic1? Will that even work on an M2 mac?

I’m running on MacOS 13.4.1 on an M2 processor. Logic2 info below:

{"Environment":"production","Branch":"master","Commit":"05ae03a49b520156f8d69106363edc34355c2362","Version":"2.4.9","AutomationVersion":"1.0.0","MachineID":"240291bc-14fd-4986-914b-f8a451698a0f","PID":44408,"LaunchId":"0ca8b3f8-ef8d-49d9-98c8-8fe7f90325e5","Architecture":"arm64"}

Let me know if you need any additional information :smiley:

Thanks!

Thanks for reporting this, and sorry for the trouble! We’ll try compiling it over here on an M1 and see if we can reproduce the issue.

The error indicates that the software was able to load the shared library, which is a good sign. The problem is that our software isn’t able to find all 3 of the required exported functions:

extern "C" ANALYZER_EXPORT const char* __cdecl GetAnalyzerName();
extern "C" ANALYZER_EXPORT Analyzer* __cdecl CreateAnalyzer( );
extern "C" ANALYZER_EXPORT void __cdecl DestroyAnalyzer( Analyzer* analyzer );

Of course those are in the analyzer source code so we’ll need to dig into it to figure out what’s going wrong.

Hi @alvarop,

I was able to compile that and run it on an M2 MBA. These were the steps I followed:

mkdir build
cd build
cmake ..
make

The analyzer will be in build/Analyzers. I did try build_analyzer.py, but it had a handful of errors, so I switched to the cmake build.

If you’d like the analyzer I built, I can send it your way. Or if you need more help building over there, let me know.

Ryan

Oh wow, you’re right :man_facepalming:

I was using the .dylib in the bin/ directory, not the .so in the Analyzers/ directory.

Sorry for the false alarm!

1 Like