Erlang OTP-24.0 released!

For me big thing that is missing from all posts is that logger now supports global metadata.

4 Likes

I believe it needs wx 3.0, what is your version?

~> wx-config --version
3.0.4

I have these dependencies installed:

~> sudo apt -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk

When compiling, I see this error message:

~> asdf install erlang 24.0
asdf_24.0 is not a kerl-managed Erlang/OTP installation
The asdf_24.0 build has been deleted
Extracting source code
Building Erlang/OTP 24.0 (asdf_24.0), please wait...
APPLICATIONS INFORMATION (See: ~/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_build_24.0.log)
 * wx             : wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed, wxWebView will NOT be available

Anyone else get this working on Ubuntu 20.04 ??

3 Likes

I have this working on Ubuntu 20.04, but I did nothing special to make it work. I have the same wx version.

$ iex -S mix phx.server
Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit]
iex> :observer.start
:ok
iex> 
        (Erlang:361678): Gtk-WARNING **: 20:34:50.847: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node tab owner GtkNotebook)

                (Erlang:361678): Gtk-WARNING **: 20:34:50.847: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node tab owner GtkNotebook)

I do have warnings, but they were present with Erlang 23.2. The observer starts correctly.

1 Like

I am on macOS 11.3.1 with wx version 3.0.5 and I am getting the same warning.

Same errors here with ASDF

1 Like

The work around here is ugly, but it worked for me

3 Likes

Just installed with bare asdf install erlang 24.0 with no issues except for wx didn’t install, something wrong with the lib paths. No any special flags used neither with the command nor in $ENV. MacOS 11.2.3 with MacPorts and latest updated asdf erlang plugin.

EGREP=egrep CC=clang CPP=“clang -E” KERL_USE_AUTOCONF=0 KERL_CONFIGURE_OPTIONS="–disable-hipe --disable-sctp --enable-darwin-64bit --enable-kernel-poll --enable-shared-zlib --enable-smp-support --enable-threads --enable-wx --with-ssl=$(brew --prefix openssl) --without-docs --without-javac --without-jinterface --without-odbc" asdf install erlang 24.0

2 Likes

Thank you. Did that work for you?

I’d like to have the docs compiled in though.

Yes, this worked for me. You may be able to get away with:

EGREP=egrep CC=clang CPP=“clang -E” KERL_USE_AUTOCONF=0 asdf install erlang 24.0

but I haven’t tried it.

2 Likes

You have set me on the right path and I installed it successfully. Thank you! :049:


For historical purposes, I’ll list some of my environment details and how I made the installation command work.

  • I use macOS 11.3.1.
  • I never downgraded autoconf as was suggested in other threads in order to be able to install OTP 21 / 22. Mine is still at 2.71.
  • I used this command:
EGREP=egrep CC=clang CPP="clang -E" KERL_USE_AUTOCONF=0 KERL_CONFIGURE_OPTIONS="--with-ssl=$(brew --prefix openssl) --enable-wx" asdf install erlang 24.0
5 Likes

Separate note. I now get this error in some of my libs / apps:

** (UndefinedFunctionError) function :crypto.hmac/3 is undefined or private.

Was there a hard deprecation and removal of the function in OTP 24.0, does anybody know?

(/CC @josevalim @garazdawi, I hope you guys don’t mind.)


EDIT 1: looking through Erlang’s official :crypto module docs, yep, :crypto.hmac is no longer there.

EDIT 2: this problem has been mentioned in this Pow issue.

This afternoon I got this working on Ubuntu 20.02 - just had to add a these dependencies, then asdf install erlang 24.0.

~> sudo apt -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk

I had to reboot my system to get the asdf compile process to recognize the libraries - not sure why.

1 Like

I’m seeing the following issues with asdf install erlang 24.0:

asdf_24.0 is not a kerl-managed Erlang/OTP installation
The asdf_24.0 build has been deleted
Extracting source code
Building Erlang/OTP 24.0 (asdf_24.0), please wait...
APPLICATIONS DISABLED (See: /Users/conradwt/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_build_24.0.log)
 * jinterface     : Java compiler disabled by user
 * jinterface     : User gave --without-jinterface option
 * odbc           : User gave --without-odbc option

APPLICATIONS INFORMATION (See: /Users/conradwt/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_build_24.0.log)
 * wx             : wxWidgets was not compiled with --enable-webview or wxWebView developer package is not installed, wxWebView will NOT be available

Build failed.
1 error generated.
gmake[3]: *** [Makefile:163: x86_64-apple-darwin20.4.0/wxe_wrapper_5.o] Error 1
1 error generated.
gmake[3]: *** [Makefile:163: x86_64-apple-darwin20.4.0/wxe_wrapper_6.o] Error 1
gmake[3]: Leaving directory '/Users/conradwt/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/lib/wx/c_src'
gmake[2]: *** [/Users/conradwt/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/make/otp_subdir.mk:29: opt] Error 2
gmake[2]: Leaving directory '/Users/conradwt/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/lib/wx'
gmake[1]: *** [/Users/conradwt/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/make/otp_subdir.mk:29: opt] Error 2
gmake[1]: Leaving directory '/Users/conradwt/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/lib'
gmake: *** [Makefile:498: libs] Error 2

Thanks a lot! This worked for me. Using asdf on an Intel Mac running 10.15.7.

The following will probably resolve your issue reagarding wxWidgets was not compiled with --enable-webview. At least it did for me.

sudo apt -y install libwxgtk-webview3.0-gtk3-dev

Here my asdf installation log for installing erlang 24.0 after installing the libwxgtk-webview3.0-gtk3-dev package :

rb@RB-WORK:~$ asdf install erlang 24.0
asdf_24.0 is not a kerl-managed Erlang/OTP installation
No build named asdf_24.0
Extracting source code
Building Erlang/OTP 24.0 (asdf_24.0), please wait…
Erlang/OTP 24.0 (asdf_24.0) has been successfully built
Installing Erlang/OTP 24.0 (asdf_24.0) in /home/rb/.asdf/installs/erlang/24.0…
You can activate this installation running the following command:
. /home/rb/.asdf/installs/erlang/24.0/activate
Later on, you can leave the installation typing:
kerl_deactivate
Cleaning up compilation products for
Cleaned up compilation products for under /home/rb/.asdf/plugins/erlang/kerl-home/builds
ln: failed to create symbolic link ‘./erl_call’: File exists

Erlang 24.0 has been installed. Activate globally with:

asdf global erlang 24.0

Activate locally in the current folder with:

asdf local erlang 24.0
2 Likes

This fix worked for me as well

Run this if you are using asdf

$ CPP=cpp EGREP=egrep asdf install erlang latest:24

Wait until this line appears:

Building Erlang/OTP 24.0 (asdf_24.0), please wait...

Then, quickly in another terminal:

Patch configure

For asdf

$ printf ‘/if test “x$DED_LD” = “x”; then\ni\nunset DED_LD\n.\n\nw\nq\n’ | ed ~/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/lib/crypto/configure

If you see No such file or directory, the file may yet to have generated by the build process. Try again a couple of seconds later.

If the patch is applied successfully, these few lines should appear (the numbers may be different on your side):

224018
if test "x$DED_LD" = "x"; then
if test "x$DED_LD" = "x"; then
224031

The build should continue as expected.

Above from: Can't install Erlang-24 due to openssl issues · Issue #371 · kerl/kerl · GitHub

1 Like

to make copy/paste less painfull replaced smartypants

printf '/if test "x$DED_LD" = "x"; then\ni\nunset DED_LD\n.\n\nw\nq\n' | ed ~/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/lib/crypto/configure

However still same error message for me :frowning:

1 Like

Heroku buildpack is broken right now (used by a lot of different CI and PaaS systems).

I installed Erlang 24 / Elixir 1.12.0-rc.1-otp-24 under asdf (on Ubuntu 20.04 in wsl) without any build problems yesterday, but subsequent TLS connections (with a self-signed cert) to Phoenix apps fail. I only upgraded out of idle curiosity & being new to Elixir don’t have the knowledge to chase the issue, so just reverted.

Just mentioning in case anyone else experiences the same.