Apple has removed OpenSSL on macOS 10.13.
Instead they are internally using BoringSSL and have replaced the default OpenSSL installation with LibreSSL.
Using a standard Erlang installation from brew anything that calls crypto crashes on 10.13 because dynamic linking is hitting Apples modified version of BoringSSL instead of LibreSSL or OpenSSL.
I have tried compiling with the following flags:
but they don't seem to help.
Here's an example triggering the bug
In discussion with Apple they seem to think the issue is that it is compiling as FLATNAMESPACE and it has to be TWOLEVEL.
If you run otool it will report if it’s two level.
will return FLATNAMESPACE or TWOLEVEL
The Crypto lib is not TWOLEVEL.