I wish to use Lame to mp3 encode audio on macOS from El Capitan (10.11) forward. My development machine runs Catalina (10.15).
On macOS Catalina, I built libmp3lame.a v3.100 using the following:
./configure --disable-decoder --host="x86_64"
make
make install
I linked to this from my program and this worked fine on Catalina itself. I then tested my application on El Capitan and attempting to call lame_init_params failed with the following error:
dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
Referenced from: /Applications/MyApp.app/Contents/MacOS/MyApp
Expected in: /usr/lib/libSystem.B.dylib
Building on El Capitan produced a library that ran fine on both machines.
Is it possible on Catalina (or other OS) to configure the build in such a way that it works with earlier OSs, e.g. El Capitan without having to build on the older OS itself?