Aurelien Jarno
2025-02-15 10:10:01 UTC
Reply
PermalinkVersion: 0.8.00-2
Severity: important
Tags: ftbfs patch
Justification: fails to build from source
X-Debbugs-Cc: debian-***@lists.debian.org
User: debian-***@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