kerl icon indicating copy to clipboard operation
kerl copied to clipboard

Can you please document what values with-ssl is supposed to expect?

Open jdmarshall opened this issue 4 months ago • 4 comments

I don't run this tool all day every day. I run it three times a year, if you're lucky.

ASDF decided to do a rewrite and now I'm lost trying to recreate steps I did over a year and a half ago and I'm lost. I can't find any straight descriptions of what --with-ssl is supposed to accept.

Is that 'openssl'? A header directory? What is it? What if I didn't use brew to install it?

jdmarshall avatar Aug 01 '25 01:08 jdmarshall

Also, this log message is clearly misinformation:

[asdf-erlang] ⚠️ Warning: openssl is optional and not installed. Please install it using 'brew install openssl'.

Yeah, that's not optional. At all.

If you bulid and make install openssl locally, none of my guesses work. Neither the binary, nor local/lib, which is where all the libraries get put by make install

jdmarshall avatar Aug 01 '25 04:08 jdmarshall

FWIW last time I did this, the lowest OTP I could build on MacOS 15.5 Sequoia was 23, I think. 22 and lower I could not get to work. I built and installed openssl 1.1.1w manually (via homebrew failed)

./Configure darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --prefix=/usr/local/opt/[email protected]

I then used export KERL_CONFIGURE_OPTIONS="--without-jdbc --with-ssl=/usr/local/opt/[email protected]" to make that openssl version available for kerl when asdf was building. This was on a fresh laptop, so would have been the latest versions of asdf etc available at the time, around the beginning of May.

Also FWIW "optional" here is used in the strict OTP sense that, without it, the system can still be built and will run - but some parts of it will not be available e.g. parts of crypto. Whether this is a commonly acceptable use case in modern contexts or not, the fact remains that OTP can be built and will mostly run without openssl.

sanmiguel avatar Aug 01 '25 13:08 sanmiguel

So are you saying that I need to build openSSL with a /usr/local/opt prefix and then feed that to Kerl?

jdmarshall avatar Aug 01 '25 23:08 jdmarshall

Attempt 2:

./Configure shared --prefix=/usr/local/opt/[email protected]
make
sudo make install

cd ..
 
export KERL_CONFIGURE_OPTIONS="--with-ssl=/usr/local/opt/[email protected]"
asdf install erlang latest:27
...

🔗 Linking app executables /Users/jasonmarshall/.asdf/installs/erlang/27.3.4.2
👍 Installed erlang 27.3.4.2

That helped.

@sanmiguel Do you know of a good spot to put something like this in the docs?

jdmarshall avatar Aug 07 '25 21:08 jdmarshall