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