Erlang OTP-24.0 released!

A new Erlang news item has been posted!

Posted via Devtalk.

56 Likes

Congratulations Erlang/OTP team, this is an amazing release!

26 Likes

Wohoo. This is awesome, congrats to the Erlang/OTP team. :rocket:

@josevalim When will Elixir follow? :slight_smile:

6 Likes

I am getting this when I do asdf erlang install 24.0:

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... gcc
checking for linker flags for loadable drivers... -m64 -bundle -bundle_loader /Users/dimi/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/bin/x86_64-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/dimi/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/lib/crypto/configure failed!

Latest macOS and I am pretty sure I have libraries here: /usr/local/opt/openssl@1.1/lib (notice the trailing /lib) so maybe the script is looking in the wrong place?

7 Likes

Want to try the jitttiinggggg

2 Likes

@dimitarvp, it worked when building from source for me. So I wonder if this is an issue with kerl? :thinking:

Next week!

24 Likes

Same for me. Getting openssl error.

3 Likes

Built correctly on ubuntu focal

Erlang/OTP 24.0 (asdf_24.0) has been successfully built
Installing Erlang/OTP 24.0 (asdf_24.0) in /home/work-base/.asdf/installs/erlang/24.0...
2 Likes

Same issue as well (mac).

1 Like

Highlight blog post: Erlang/OTP 24 Highlights – A Blog from the Erlang/OTP team – The Erlang/OTP team at Ericsson, the implementors and maintainers of Erlang/OTP.

19 Likes

How can I check? I have a daily CRON script that updates asdf itself and all installed plugins so I shouldn’t be using anything old there. But as for kerl itself, no idea how to check?

I have finished reading the release notes. This section seems to be relevant:

  OTP-16882    Application(s): crypto

               Add /usr/local/opt/openssl to the openssl configure
               search path. This path is where some tools on OS X
               place openssl.

  OTP-17254    Application(s): crypto, erts
               Related Id(s): ERIERL-618, GH-4230

               The configure scripts in crypto and erts now fail if a
               requested feature cannot be enabled.

               Large parts of the configure script of crypto have been
               rewritten with various improvements and bug fixes. It
               is now better at finding usable OpenSSL libraries, but
               will in the following cases fail to detect OpenSSL
               libraries where it previously sometimes detected the
               libraries by chance:

               -- OpenSSL installations with include directory and lib
               directory parts installed in different base
               directories. In order to detect such installations
               after this change, the user must explicitly specify the
               locations using the --with-ssl=<path> and the
               --with-ssl-incl=<path> configure command line
               arguments.

               -- When building with old gcc compilers or other
               compilers on Debian derivatives with multiarch
               directories under the lib directory. In order to detect
               such installations after this change, the user must
               explicitly specify the multiarch directory name using
               the --with-ssl-lib-subdir=lib/<multiarch-dir> configure
               command line argument.
8 Likes

After scanning the forum and reminding myself of how I was doing things in the past (when straight up asdf install didn’t work), I ended up doing this (and a few variations) but it didn’t work either:

$ KERL_CONFIGURE_OPTIONS="--with-ssl=$(brew --prefix openssl)/lib --with-ssl-incl=$(brew --prefix openssl)/include/openssl --enable-dynamic-ssl-lib --enable-wx" 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...
Configure failed.
checking for basic compiler flags for loadable drivers... -fno-common -g -O2 -fPIC -fno-common
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... gcc
checking for linker flags for loadable drivers... -m64 -bundle -bundle_loader /Users/dimi/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/bin/x86_64-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/include... configure: error: no OpenSSL header found in /usr/local/opt/openssl@1.1/include
ERROR: /Users/dimi/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_src_24.0/lib/crypto/configure failed!

Please see /Users/dimi/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_build_24.0.log for full details.

I was having similar issues which were resolved by adding --disable-parallel-configure to my KERL_CONFIGURE_OPTIONS as suggested by the reporter here:

2 Likes

Thank you. That got me a bit further:

$ KERL_CONFIGURE_OPTIONS="--disable-parallel-configure" 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: /Users/dimi/.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.
 ERLC	../ebin/crypto_ec_curves.beam
 VSN	../ebin/crypto.app
 VSN	../ebin/crypto.appup
 MAKE	opt
make[4]: x86_64-apple-darwin20.4.0/Makefile: No such file or directory
make[4]: *** No rule to make target `x86_64-apple-darwin20.4.0/Makefile'.  Stop.
make[3]: *** [opt] Error 2
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

Please see /Users/dimi/.asdf/plugins/erlang/kerl-home/builds/asdf_24.0/otp_build_24.0.log for full details.
1 Like

Macos 10.15.7 here. Build fails for both normal asdf install and using the suggested KERL_CONFIGURE_OPTIONS. I could install all the RC versions using asdf without any problems.

Does anyone know how to make Erlang’s Observer/WX work on 24.0? (I’m running on Ubuntu 20.04)

~> iex
Erlang/OTP 24 [erts-12.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit]
Interactive Elixir (1.12.0-rc.1) - press Ctrl+C to exit (type h() ENTER for help)
iex> :observer.start()
09:59:46.332 [error] ERROR: Could not find 'wxe_driver.so' in: ~/.asdf/installs/erlang/24.0/lib/wx-2.0/priv

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

Yes, I am afraid I spoke too soon :frowning: I also only get as far as you do…