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
  test/my_app_web/integration/home_page_test.exs

.

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+.

2 Likes

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: :gen_server.call(#PID<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.

4 Likes

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
9 Likes

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:
https://hub.docker.com/r/hexpm/elixir/tags?page=1&ordering=last_updated

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

3 Likes

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!

Thanks!

2 Likes

Hi,

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