[Debian-med-packaging] Bug#1070757: bart-cuda: FTBFS in bullseye: failing tests

Santiago Vila sanvila at debian.org
Wed May 8 15:22:10 BST 2024


Package: src:bart-cuda
Version: 0.6.00-1
Severity: serious
Tags: ftbfs patch
Control: fixed -1 0.8.00-2
Control: owner -1 sanvila at debian.org

Dear maintainer:

During a rebuild of all packages in bullseye, your package failed to build:

--------------------------------------------------------------------------------
[...]
  debian/rules binary
dh binary
    dh_update_autotools_config
    dh_autoreconf
    dh_auto_configure
    dh_auto_build
	make -j2 "INSTALL=install --strip-program=true"
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make MAKESTAGE=2
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -MF /<<PKGBUILDDIR>>/src/.bart.d -iquote /<<PKGBUILDDIR>>/src/ -DUSE_CUDA -I/usr//include -I/usr//include/ -I/usr//include -DFFTWTHREADS -DMAIN_LIST="avg, bench, bin, bitmask, cabs, caldir, calmat, carg, casorati, cc, ccapply, cdf97, circshift, conj, conv, copy, cpyphs, creal, crop, delta, ecalib, ecaltwo, estdelay, estdims, estshift, estvar, extract, fakeksp, fft, fftmod, fftrot, fftshift, filter, flatten, flip, fmac, homodyne, index, invert, itsense, join, looklocker, lrmatrix, mandelbrot, mip, moba, nlinv, noise, normalize, nrmse, nufft, ones, pattern, phantom, pics, pocsense, poisson, poly, repmat, reshape, resize, rmfreq, rof, rss, rtnlinv, sake, saxpy, scale, sdot, show, slice, spow, sqpics, squeeze, ssa, std, svd, tgv, threshold, toimg, traj, transpose, twixread, upat, var, vec, version, walsh, wave, wavelet, wavepsf, whiten, window, wshfl, zeros, zexp, ()" -include src/main.h -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -fopenmp -c -o /<<PKGBUILDDIR>>/src/bart.o /<<PKGBUILDDIR>>/src/bart.c
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -MF src/.show.d -iquote /<<PKGBUILDDIR>>/src/ -DUSE_CUDA -I/usr//include -I/usr//include/ -I/usr//include -DFFTWTHREADS -DMAIN_LIST="avg, bench, bin, bitmask, cabs, caldir, calmat, carg, casorati, cc, ccapply, cdf97, circshift, conj, conv, copy, cpyphs, creal, crop, delta, ecalib, ecaltwo, estdelay, estdims, estshift, estvar, extract, fakeksp, fft, fftmod, fftrot, fftshift, filter, flatten, flip, fmac, homodyne, index, invert, itsense, join, looklocker, lrmatrix, mandelbrot, mip, moba, nlinv, noise, normalize, nrmse, nufft, ones, pattern, phantom, pics, pocsense, poisson, poly, repmat, reshape, resize, rmfreq, rof, rss, rtnlinv, sake, saxpy, scale, sdot, show, slice, spow, sqpics, squeeze, ssa, std, svd, tgv, threshold, toimg, traj, transpose, twixread, upat, var, vec, version, walsh, wave, wavelet, wavepsf, whiten, window, wshfl, zeros, zexp, ()" -include src/main.h -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -fopenmp -c -o src/show.o src/show.c
./ar_lock.sh rsU lib/libbox.a src/show.o
ar: creating lib/libbox.a
gcc -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -MF src/.slice.d -iquote /<<PKGBUILDDIR>>/src/ -DUSE_CUDA -I/usr//include -I/usr//include/ -I/usr//include -DFFTWTHREADS -DMAIN_LIST="avg, bench, bin, bitmask, cabs, caldir, calmat, carg, casorati, cc, ccapply, cdf97, circshift, conj, conv, copy, cpyphs, creal, crop, delta, ecalib, ecaltwo, estdelay, estdims, estshift, estvar, extract, fakeksp, fft, fftmod, fftrot, fftshift, filter, flatten, flip, fmac, homodyne, index, invert, itsense, join, looklocker, lrmatrix, mandelbrot, mip, moba, nlinv, noise, normalize, nrmse, nufft, ones, pattern, phantom, pics, pocsense, poisson, poly, repmat, reshape, resize, rmfreq, rof, rss, rtnlinv, sake, saxpy, scale, sdot, show, slice, spow, sqpics, squeeze, ssa, std, svd, tgv, threshold, toimg, traj, transpose, twixread, upat, var, vec, version, walsh, wave, wavelet, wavepsf, whiten, window, wshfl, zeros, zexp, ()" -include src/main.h -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -fopenmp -c -o src/slice.o src/slice.c
./ar_lock.sh rsU lib/libbox.a src/slice.o
[...]
gcc -Wl,-z,relro -Wl,-z,now -rdynamic -rdynamic -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -std=gnu11 -fopenmp -Wdate-time -D_FORTIFY_SOURCE=2 -MMD -MF ./.test_prox.d -iquote /<<PKGBUILDDIR>>/src/ -DUSE_CUDA -I/usr//include -I/usr//include/ -I/usr//include -DFFTWTHREADS -DUTESTS="call_test_thresh, call_test_auto_norm," -o test_prox utests/utest.c utests/test_prox.o lib/libiter.a lib/liblinops.a lib/libnum.a lib/libmisc.a lib/libnum.a lib/libmisc.a -L/usr//lib -lfftw3f -lfftw3f_threads -L/usr//lib -lcufft -lcudart -lcublas -lstdc++ -Wl,-rpath /usr//lib -L/usr//lib -llapacke -lblas  -lm
./test_linop_matrix
  ./test_linop_matrix:  4/ 4 passed.
./test_linop
         ./test_linop:  3/ 3 passed.
./test_batchsvd
      ./test_batchsvd:  2/ 2 passed.
./test_pattern
       ./test_pattern:  1/ 1 passed.
./test_types
         ./test_types:  2/ 2 passed.
./test_misc
          ./test_misc:  2/ 2 passed.
./test_moba
          ./test_moba:  1/ 1 passed.
./test_nlop
          ./test_nlop: 15/15 passed.
./test_nufft
ERROR:         ./test_nufft:  7/ 8 passed.
make[3]: *** [Makefile:685: utests-all] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: *** [Makefile:273: utest] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:27: override_dh_auto_test] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:21: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

This is essentially the same problem as #1026061, for which we already have a fix,
so I'm filing this one mainly for completeness.

Note this is not really random, but more like "almost never in some systems"
and "almost always in some other systems". In fact, I'm getting a 100% failure
rate on the following AWS machine types on which I tried:

t3a-medium
t3a-small
t3a-large
c6a-large
m6a-large

This suggests an issue with different floating point implementations between Intel and AMD,
which would also explain why it only fails around 1% of the time for some people.

[ Note: I will fix this via team upload, as I did with bart ].

Thanks.


More information about the Debian-med-packaging mailing list