Erlang OTP-24.0 released!

I just upgraded to 24 to see if the tests pass and I get this error as well. No line number.

➜  my_app git:(develop) ✗ mix test test/my_app_web/integration/home_page_test.exs

warning: a term is constructed, but never used


Finished in 1.5 seconds
1 feature, 0 failures

Is there a verbose mode to see where this originates from?

1 Like

This has been fixed on Elixir v1.12+.


How do we resolve the crypto.hmac issue? I’m running into this error and need to resolve it asap. It’s a production issue.

Elixir version 1.12.0 and OTP version 24. Docker base image is elixir:1.12.0-alpine

xAzure.request(:get_blob, [storename, "97/d6/ec/86/97d6ec86-6ae2-4e92-bae3-c62fc94f88ca"])
** (exit) exited in:<0.4125.0>, {:get_blob, 'filestore-v2', '97/d6/ec/86/97d6ec86-6ae2-4e92-bae3-c62fc94f88ca', []}, 30000)
    ** (EXIT) an exception was raised:
        ** (UndefinedFunctionError) function :crypto.hmac/3 is undefined or private
            (crypto 5.0.1) :crypto.hmac(:sha256, <<180, 132, 132, 66, 159, 46, 117, 95, 190, 26, 224, 69, 171, 56, 248, 175, 73, 173, 24, 178, 82, 80, 244, 118, 52, 223, 221, 130, 13, 11, 116, 174, 184, 40, 108, 145, 116, 78, 12, 65, 154, 147, 42, 245, 173, 193, 23, 58, 241, 84, ...>>, 'GET\n\n\n\n\n\n\n\n\n\n\n\nx-ms-date:Thu, 03 Jun 2021 00:20:33 GMT\nx-ms-version:2014-02-14\n/roninstorageacctstage/filestore-v2/97/d6/ec/86/97d6ec86-6ae2-4e92-bae3-c62fc94f88ca')

The library/code must be updated to no longer use the deprecated function.


asdf now cleanly builds erlang 24.0.x on macOS! :tada:

asdf-erlang PR:

kerl PR:

You just need to run:

asdf plugin-update erlang
asdf install erlang 24.0.2

I’m not sure this will resolve your issue but that base image is not supported by the Hex Team as far as I understand. If that’s true you may be interested in swapping it out for one of these:

1 Like

Thanks! Switching to officially supported images by the Hex team was what I decided to do.

The ExAzure library isn’t maintained anymore so I’ll likely switch out of that in the near future

Thanks @josevalim! I decided to switch the docker image to the one supported by the Hex Team. In the near team I’ll switch out of ExAzure to a better supported Azure library or build my own.

Yes! Worked perfectly for me.

1 Like
asdf plugin-update erlang
asdf install erlang 24.0.2

Doesn’t work for me on my M1 Macbook Air, macOS 11.3.1.

Still getting the same error:

Extracting source code
Building Erlang/OTP 24.0 (asdf_24.0), please wait…
Configure failed.
checking for compiler flags for loadable drivers… -Werror=undef -Werror=implicit -Werror=return-type -Wdeclaration-after-statement -Wall -Wstrict-prototypes -Wmissing-prototypes -D_THREAD_SAFE -D_REENTRANT -DPOSIX_THREADS -fno-common -g -O2 -fPIC -fno-common
checking for linker for loadable drivers… clang
checking for linker flags for loadable drivers… -m64 -bundle -bundle_loader /Users/andy/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/bin/aarch64-apple-darwin20.4.0/beam.smp
checking for ‘runtime library path’ linker flag… not found
checking for multiarch directory… not found
checking size of void *… (cached) 8
checking for static zlib… no
checking for OpenSSL header in /usr/local/opt/openssl@1.1… yes
checking for OpenSSL in /usr/local/opt/openssl@1.1… configure: error: neither static nor dynamic crypto library found in /usr/local/opt/openssl@1.1
ERROR: /Users/andy/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/lib/crypto/configure failed!

There are notes on the OpenSSL issues for Macs in the Erlang plug-in repo

If that doesn’t work, there are also some issues for M1 macs stemming from terminals running under Rosetta. See my post here


Awesome, it wasn’t exactly what you said but your messages helped me realize that because I restored my new M1 mac with a time machine backup of an Intel mac, I had Homebrew installed in the old directory (/usr/local) instead of the one used by M1s (/opts/homebrew).

I ripped out the old one and re-installed homebrew, and I was able to cleanly install Erlang 24.0.2 using the command that I quoted from @axelson above!




Using latest versions of both Erlang and Elixir, and having built wxWidgets from source, I still have that output when launching observer:

(Erlang:1362671): Gtk-WARNING **: 16:22:04.177: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node tab owner GtkNotebook)

I am not sure it is related, but I bet it is, the supervision tree graph in the Applications tabs is broken for me: scroll will always reset, I cannot navigate around the tree.

Anyone found a workaround for that?

1 Like