Flathub NaN/Inf issues

It is coming from fluthub/octave bugs:

but it looks like a more general flatpak issue:

Test code:

cat mylog.cc 
#include <iostream>
#include <cmath>
#include <complex>
#include <limits>

int main ()
{
	double z = std::numeric_limits<double>::infinity();
	std::complex<double> x (0, z);
	std::complex<double> y (0, 0);

	y = std::log(x);
	std::cout << "x = " << x << " log(x) = " << y << std::endl;

	return 0;
}

Native (CentOS 9 gcc version 11.3.1 20221121 (Red Hat 11.3.1-4), glibc-2.34-60.el9.x86_64):

$ g++ mylog.cc 
$ ./a.out 
x = (0,inf) log(x) = (inf,1.5708)
$ ldd ./a.out 
	linux-vdso.so.1 (0x00007ffcb63cf000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007faadb400000)
	libm.so.6 => /lib64/libm.so.6 (0x00007faadb325000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007faadb63b000)
	libc.so.6 => /lib64/libc.so.6 (0x00007faadb000000)
	/lib64/ld-linux-x86-64.so.2 (0x00007faadb677000)

Flatpak (gcc version 11.3.0, glibc-2.33):

sh-5.1$ g++ mylog.cc
sh-5.1$ ./a.out
x = (0,inf) log(x) = (-nan,1.5708)
sh-5.1$ ldd ./a.out
        linux-vdso.so.1 (0x00007fff5b389000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff368a00000)
        libm.so.6 => /usr/lib/x86_64-linux-gnu/libm.so.6 (0x00007ff3688b7000)
        libgcc_s.so.1 => /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007ff368d21000)
        libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x00007ff3686d7000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ff368d58000)
1 Like