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

Reply via email to