Erlang OTP-24.0 released!

The (functionally harmless) error is still there in your code, though. Not using 24.0 doesn’t make it go away :slight_smile: So perhaps it is better to stick with 24.0 and clear out the issues?

There was one of these warnings in Phoenix that I first noticed when upgrading to 24.0, but it was already fixed in a new release. (A Plug.Conn struct was getting updated, but that updated struct was never being used or returned to the caller, so “never used” … )

1 Like

Yes, that will have to happen eventually.

@tomciopp Do you know what the default KERL_CONFIGURE_OPTIONS when using the asdf command? Are these options for development or production only? I ask this question because I have a lot of these options currently set when building Erlang with asdf. Thanks in advance for any insight that you can regarding these configuration options.

Think different and code well,


Hey All, I was able to resolve my issue by first installing wxWidgets 3.1.5 from source as follows:

git clone
cd wxWidgets
git submodule update --init src/png
git submodule update --init src/jpeg
./configure --with-cocoa --prefix=/usr/local --enable-webview --enable-compat28 --with-macosx-version-min=11.3
sudo make install

Then I installed Erlang 24.0 as follows:

export KERL_BUILD_DOCS=yes
export EGREP=egrep
export CC=clang
export CPP="clang -E"

export KERL_CONFIGURE_OPTIONS="--disable-debug \
                               --disable-hipe \
                               --disable-sctp \
                               --disable-silent-rules \
                               --enable-darwin-64bit \
                               --enable-dynamic-ssl-lib \
                               --enable-kernel-poll \
                               --enable-shared-zlib \
                               --enable-smp-support \
                               --enable-threads \
                               --enable-wx \
                               --with-ssl=/opt/local \
                               --with-wx-config=/usr/local/bin/wx-config \
                               --without-javac \
                               --without-jinterface \
asdf install erlang 24.0

A post was merged into an existing topic: Erlang OTP-24.0.1 released!

Watch Mark’s YT video on how to fixed this asdf issue


Relatedly, I asked what to do afterwards. Do we remove “Darwin-disabled”?

Regarding: Erlang OTP-24.0.1 released! - #18 by woohaaha ( posted this video recently: :clap:

He suggests editing kerl and changing “Darwin” to “Darwin-disabled”.

I haven’t tried this yet but I’m wondering what to do afterwards? Should we change it back to “Darwin”?

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