Source: openmsx Version: 20.0+dfsg-1.2 Severity: important Tags: patch upstream fixed-upstream User: [email protected] Usertags: glibc-2.42 Control: forwarded -1 https://github.com/openMSX/openMSX/commit/9c554dfeb7b16e4aff3c1ea99e25ff101100d4fc
Dear maintainer, openmsx autopkgtest fails on when tested against glibc 2.42: | 2766s g++ \ | 2766s -MP -MMD -MF derived/x86_64-linux-unittest/dep/unittest/gl_vec.cc.d \ | 2766s -o derived/x86_64-linux-unittest/obj/unittest/gl_vec.cc.o -O3 -g -DUNITTEST -IContrib/catch2 -fsanitize=address -pthread -pipe -std=c++20 -Wall -Wextra -Wundef -Wno-invalid-offsetof -Wunused-macros -Wmissing-declarations -Wshadow -Wno-sign-conversion -Isrc -Isrc/3rdparty -Isrc/3rdparty/ImGuiFileDialog -Isrc/3rdparty/imgui -Isrc/3rdparty/imgui/misc -Isrc/3rdparty/imgui/misc/freetype -Isrc/cassette -Isrc/commands -Isrc/config -Isrc/console -Isrc/cpu -Isrc/debugger -Isrc/events -Isrc/fdc -Isrc/file -Isrc/ide -Isrc/imgui -Isrc/input -Isrc/laserdisc -Isrc/memory -Isrc/resource -Isrc/security -Isrc/serial -Isrc/settings -Isrc/sound -Isrc/thread -Isrc/unittest -Isrc/utils -Isrc/video -Isrc/video/ld -Isrc/video/scalers -Isrc/video/v9990 -Iderived/x86_64-linux-unittest/config -I/usr/include/libpng16 -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/SDL2 -D_REENTRANT -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/tcl8.6 -c src/unittest/gl_vec.cc | 2767s In file included from src/unittest/gl_vec.cc:1: | 2767s src/unittest/gl_vec.cc: In function ‘void ____C_A_T_C_H____T_E_S_T____0()’: | 2767s src/unittest/gl_vec.cc:24:20: error: call of overloaded ‘rsqrt(double)’ is ambiguous | 2767s 24 | CHECK(rsqrt(16.0 ) == 0.25 ); | 2767s | ~~~~~^~~~~~~ | 2767s src/unittest/gl_vec.cc:24:20: note: there are 3 candidates | 2767s In file included from /usr/include/features.h:523, | 2767s from /usr/include/x86_64-linux-gnu/c++/15/bits/os_defines.h:39, | 2767s from /usr/include/x86_64-linux-gnu/c++/15/bits/c++config.h:727, | 2767s from /usr/include/c++/15/cstddef:51, | 2767s from Contrib/catch2/catch.hpp:328: | 2767s /usr/include/x86_64-linux-gnu/bits/mathcalls.h:206:1: note: candidate 1: ‘double rsqrt(double)’ | 2767s 206 | __MATHCALL (rsqrt,, (_Mdouble_ __x)); | 2767s | ^~~~~~~~~~ | 2767s In file included from src/unittest/gl_vec.cc:2: | 2767s src/video/gl_vec.hh:196:28: note: candidate 2: ‘float gl::rsqrt(float)’ | 2767s 196 | [[nodiscard]] inline float rsqrt(float x) | 2767s | ^~~~~ | 2767s src/video/gl_vec.hh:200:29: note: candidate 3: ‘double gl::rsqrt(double)’ | 2767s 200 | [[nodiscard]] inline double rsqrt(double x) | 2767s | ^~~~~ | 2767s src/unittest/gl_vec.cc:24:20: error: call of overloaded ‘rsqrt(double)’ is ambiguous | 2767s 24 | CHECK(rsqrt(16.0 ) == 0.25 ); | 2767s | ~~~~~^~~~~~~ | 2767s src/unittest/gl_vec.cc:24:20: note: there are 3 candidates | 2767s /usr/include/x86_64-linux-gnu/bits/mathcalls.h:206:1: note: candidate 1: ‘double rsqrt(double)’ | 2767s 206 | __MATHCALL (rsqrt,, (_Mdouble_ __x)); | 2767s | ^~~~~~~~~~ | 2767s src/video/gl_vec.hh:196:28: note: candidate 2: ‘float gl::rsqrt(float)’ | 2767s 196 | [[nodiscard]] inline float rsqrt(float x) | 2767s | ^~~~~ | 2767s src/video/gl_vec.hh:200:29: note: candidate 3: ‘double gl::rsqrt(double)’ | 2767s 200 | [[nodiscard]] inline double rsqrt(double x) | 2767s | ^~~~~ | 2767s src/unittest/gl_vec.cc:24:20: error: call of overloaded ‘rsqrt(double)’ is ambiguous | 2767s 24 | CHECK(rsqrt(16.0 ) == 0.25 ); | 2767s | ~~~~~^~~~~~~ | 2767s src/unittest/gl_vec.cc:24:20: note: there are 3 candidates | 2767s /usr/include/x86_64-linux-gnu/bits/mathcalls.h:206:1: note: candidate 1: ‘double rsqrt(double)’ | 2767s 206 | __MATHCALL (rsqrt,, (_Mdouble_ __x)); | 2767s | ^~~~~~~~~~ | 2767s src/video/gl_vec.hh:196:28: note: candidate 2: ‘float gl::rsqrt(float)’ | 2767s 196 | [[nodiscard]] inline float rsqrt(float x) | 2767s | ^~~~~ | 2767s src/video/gl_vec.hh:200:29: note: candidate 3: ‘double gl::rsqrt(double)’ | 2767s 200 | [[nodiscard]] inline double rsqrt(double x) | 2767s | ^~~~~ | 2768s make: *** [build/main.mk:484: derived/x86_64-linux-unittest/obj/unittest/gl_vec.cc.o] Error 1 The full log is available there: https://ci.debian.net/data/autopkgtest/unstable/amd64/o/openmsx/66659756/log.gz This autopkgtest failure is due to the addition of the rsqrt function (part of ISO C12) to glibc 2.42, now conflicting with the openmsx source: https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=f0b0e924a45c7698e6ca6415f2d9a096a24e37df;hb=d2097651cc57834dbfcaa102ddfacae0d86cfb66#l12 A fix is already available upstream: https://github.com/openMSX/openMSX/commit/9c554dfeb7b16e4aff3c1ea99e25ff101100d4fc Regards Aurelien

