Dyld: lazy symbol binding failed

On MacOS 10.13.6 (High Sierra), starting version 8.2.0 from command line fails:


$ swipl

Welcome to SWI-Prolog (threaded, 64 bits, version 8.2.0)

SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.

Please run ?- license. for legal details.

For online help and background, visit https://www.swi-prolog.org

For built-in help, use ?- help(Topic). or ?- apropos(Word).

dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin
Referenced from: /Applications/SWI-Prolog.app/Contents/MacOS/…/Frameworks/libncurses.6.dylib (which was built for Mac OS X 10.15)
Expected in: /usr/lib/libSystem.B.dylib

Turns out the build picks up ncurses.dylib from Macports instead of using the system version. Raised an issue on CMake Discourse to see whether there is a reasonable way to avoid this.

In the meanwhile, I guess your best options are to upgrade your Mac or install using Macports (which should install a version suitable for your MacOS version).

Beste Jan,


upgrade your Mac

’t is een oude laptop - macOS 10.13 is de laatste systeemversie die
hij kan hebben. Ik hoor wel of de issue melding wat oplevert.

The CMake community did their work. Now managed to compile a version that no longer depends on Macport components. Will be used for the next patch release.

1 Like