OTP 25.2 Released

OTP 25.2 #

Erlang/OTP 25.2 is the second maintenance patch package for OTP 25, with mostly bug fixes as well as improvements.

Below are some highlights of the release:

Potential incompatibilities: #

  • The inet:setopts/2 {reuseaddr, true} option will now be ignored on Windows unless the socket is an UDP socket. For more information see the documentation of the reuseaddr option part of the documentation of inet:setopts/2. Prior to OTP 25 the {reuseaddr, true} option was ignored for all sockets on Windows, but as of OTP 25.0 this was changed so that it was not ignored for any sockets.

The Erlang/OTP source can also be found at GitHub on the official Erlang repository, GitHub - erlang/otp: Erlang/OTP

Download links for this and previous versions are found here

10 Likes

@proxyles I’m having issue to compile this version (we’re currently using 25.1.2)

$ uname -a
Linux 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

$ gcc --version
gcc (Ubuntu 10.4.0-1ubuntu1~20.04) 10.4.0

$ kerl build git https://github.com/erlang/otp.git OTP-25.2 25.2
[...]
sys/common/erl_check_io.c:805:1: note: type mismatch in parameter 2
  805 | driver_select(ErlDrvPort ix, ErlDrvEvent e, int mode, int on)
      | ^
sys/common/erl_check_io.c:805:1: note: type ‘ErlDrvEvent’ should match type ‘struct _erl_drv_event *’
sys/common/erl_check_io.c:805:1: note: ‘driver_select’ was previously declared here
sys/common/erl_check_io.c:805:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans21.ltrans.o:(.note.stapsdt+0x24): undefined reference to `erlang_driver__finish_semaphore'
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans26.ltrans.o:(.note.stapsdt+0xc4): undefined reference to `erlang_copy__struct_semaphore'
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans31.ltrans.o:(.note.stapsdt+0x88): undefined reference to `erlang_driver__init_semaphore'
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans64.ltrans.o:(.note.stapsdt+0x24): undefined reference to `erlang_driver__stop_select_semaphore'
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans64.ltrans.o:(.note.stapsdt+0x74): undefined reference to `erlang_driver__stop_select_semaphore'
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans81.ltrans.o:(.note.stapsdt+0x24): undefined reference to `erlang_driver__stop_select_semaphore'
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans81.ltrans.o:(.note.stapsdt+0x78): undefined reference to `erlang_copy__struct_semaphore'
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans84.ltrans.o:(.note.stapsdt+0x24): undefined reference to `erlang_user_trace__s1_semaphore'
collect2: error: ld returned 1 exit status
make[4]: *** [x86_64-pc-linux-gnu/Makefile:1254: /home/zab/.kerl/builds/25.2/otp_src_git/bin/x86_64-pc-linux-gnu/beam.jit] Error 1
make[4]: Leaving directory '/home/zab/.kerl/builds/25.2/otp_src_git/erts/emulator'
make[3]: *** [/home/zab/.kerl/builds/25.2/otp_src_git/make/run_make.mk:35: opt] Error 2
make[3]: Leaving directory '/home/zab/.kerl/builds/25.2/otp_src_git/erts/emulator'
make[2]: *** [Makefile:45: opt] Error 2
make[2]: Leaving directory '/home/zab/.kerl/builds/25.2/otp_src_git/erts'
make[1]: *** [Makefile:60: jit] Error 2
make[1]: Leaving directory '/home/zab/.kerl/builds/25.2/otp_src_git/erts'
make: *** [Makefile:503: emulator] Error 2

And what does this warning (-fno-strict-aliasing) mean?

sys/common/erl_check_io.c:805:1: note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
/usr/bin/ld: /tmp/beam.jit.5scNKO.ltrans21.ltrans.o:(.note.stapsdt+0x24): undefined reference to `erlang

Should i add this option to CFLAGS?

Something seems to be wrong with your build environment. Please open an issue at Issues · erlang/otp · GitHub and attach the following log files:

  • otp_build_git.log (should be located one directory above the built erlang source tree)
  • erts/config.log

No, you should not need to. Our configure checks if that option is available and if so will add it.

2 Likes

@rickard indeed. Rebuilding everything inside Docker went well.

2 Likes