Source: bart-cuda
Version: 0.8.00-2
Severity: important
Tags: ftbfs patch
Justification: fails to build from source
X-Debbugs-Cc: debian-glibc@lists.debian.org
User: debian-glibc@lists.debian.org
Usertags: glibc2.41

Dear maintainer,

The bart-cuda autopkgtest fails when run against glibc 2.41, which is
currently in experiemntal. It fails with [1]:

| 3772s touch tests/test-traj-custom
| 3772s set -e ; mkdir 
/tmp/autopkgtest-lxc.oedkyjwg/downtmp/autopkgtest_tmp/tests/tmp/$$/ ; cd 
/tmp/autopkgtest-lxc.oedkyjwg/downtmp/autopkgtest_tmp/tests/tmp/$$/             
        ;\
| 3772s /tmp/autopkgtest-lxc.oedkyjwg/downtmp/autopkgtest_tmp//traj -R0. -r 
-y360 -D t0.ra                              ;\
| 3772s /tmp/autopkgtest-lxc.oedkyjwg/downtmp/autopkgtest_tmp//phantom -k -t 
t0.ra k0.ra                                ;\
| 3772s /tmp/autopkgtest-lxc.oedkyjwg/downtmp/autopkgtest_tmp//traj -R30. -r 
-y360 -D t30.ra                    ;\
| 3772s /tmp/autopkgtest-lxc.oedkyjwg/downtmp/autopkgtest_tmp//phantom -k -t 
t30.ra k30.ra                              ;\
| 3772s /tmp/autopkgtest-lxc.oedkyjwg/downtmp/autopkgtest_tmp//estshift 4 k0.ra 
k30.ra | grep "30.00000"                ;\
| 3772s rm *.ra ; cd .. ; rmdir 
/tmp/autopkgtest-lxc.oedkyjwg/downtmp/autopkgtest_tmp/tests/tmp/$$/
| 3774s make: *** [tests/traj.mk:53: tests/test-traj-rot] Error 1

Investigation shows that this is due to improved accuracy of the atan2f
function in glibc 2.41. In details bart-cuda computes
atan2f(0x1.166202p-4, 0x1.e22c5ap-4) and it expects it to be 30.00000
when converted from radian to degrees, ie it expects the atan2f function
to return 0x1.0c1524p-1.

With glibc 2.41, the atan2f function has been improved [2] and now
returns instead 0x1.0c1522p-1 which is closer to the real value than
0x1.0c1524p-1.  This corresponds to 29.999998 when converted to degrees.
The patch below fixes the issue by accepting both values.

Regards
Aurelien

--- bart-cuda-0.8.00.orig/tests/traj.mk
+++ bart-cuda-0.8.00/tests/traj.mk
@@ -55,7 +55,7 @@ tests/test-traj-rot: traj phantom estshi
        $(TOOLDIR)/phantom -k -t t0.ra k0.ra                            ;\
        $(TOOLDIR)/traj -R30. -r -y360 -D t30.ra                        ;\
        $(TOOLDIR)/phantom -k -t t30.ra k30.ra                          ;\
-       $(TOOLDIR)/estshift 4 k0.ra k30.ra | grep "30.00000"            ;\
+       $(TOOLDIR)/estshift 4 k0.ra k30.ra | grep "30.00000\|29.999998" ;\
        rm *.ra ; cd .. ; rmdir $(TESTS_TMP)
        touch $@

[1] 
https://ci.debian.net/data/autopkgtest/unstable/amd64/b/bart-cuda/57639405/log.gz
[2] 
https://sourceware.org/git/?p=glibc.git;a=commit;h=6f9bacf36b20b1a87fa4ec24c9d67c47985fbc8b

Reply via email to