Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package cp2k, it fixes #686874, namely segfaults in most test cases on i386 due to not-16byte-aligned arrays being passed to (since recently) SSE2-using fftw3, see https://buildd.debian.org/status/fetch.php?pkg=cp2k&arch=i386&ver=2.2.426-5&stamp=1346699763 |-------------------------regtesting cp2k---------------------------------- |Starting tests in |/build/buildd-cp2k_2.2.426-5-i386-rUGkvz/cp2k-2.2.426/tools/..//TEST-Linux-i686-gfortran-popt-2012-09-03T19:08:13+0000/tests/QS/regtest-hfx |Running H2O-hfx-1.inp |Running H2O-hfx-2.inp |Running H2O-hfx-3.inp |./do_regtest: line 146: 29062 Segmentation fault ${cp2k_prefix} |${input_file} ${cp2k_postfix} &>${output_file} |Running CH-hfx-md.inp |./do_regtest: line 146: 29079 Segmentation fault ${cp2k_prefix} |${input_file} ${cp2k_postfix} &>${output_file} |[...] |number of FAILED tests 72 |number of WRONG tests 28 |number of CORRECT tests 141 vs. https://buildd.debian.org/status/fetch.php?pkg=cp2k&arch=i386&ver=2.2.426-6&stamp=1346979234 |-------------------------regtesting cp2k---------------------------------- |Starting tests in |/build/buildd-cp2k_2.2.426-6-i386-bTTI0T/cp2k-2.2.426/tools/..//TEST-Linux-i686-gfortran-popt-2012-09-07T00:42:13+0000/tests/QS/regtest-hfx |Running H2O-hfx-1.inp |Running H2O-hfx-2.inp |Running H2O-hfx-3.inp |Running CH-hfx-md.inp |[...] |number of FAILED tests 1 |number of WRONG tests 37 |number of CORRECT tests 203 The one remaining FAILED test is likely due to a timeout on the buildd, the cp2k regression testsuite is setting a timer for each test, it succeeds with no FAILED tests on my local i386 sbuild. The issue had been diagnosed by the fftw3 maintainer (Julian Taylor) and discussed with upstream; they have since committed a more disruptive patch, but the current minimal patch should be fine. unblock cp2k/2.2.426-6 Thanks in advance, regards Michael
diff -Nru cp2k-2.2.426/debian/changelog cp2k-2.2.426/debian/changelog --- cp2k-2.2.426/debian/changelog 2012-09-03 19:18:02.000000000 +0200 +++ cp2k-2.2.426/debian/changelog 2012-09-07 00:33:20.000000000 +0200 @@ -1,3 +1,16 @@ +cp2k (2.2.426-6) unstable; urgency=low + + * debian/rules (FFTW3_ALIGN): New variable, set to '-D__FFTW3_UNALIGNED' on + i386. + * debian/patches/makeflags.patch: Include $(FFTW3_ALIGN) environment + variable in $(DFLAGS). + * debian/patches/fftw3_unaligned.patch: New patch, unconditionally adds the + FFTW_UNALIGNED flag to the FFTW3 plan if __FFTW3_UNALIGNED is defined, + thanks to Julian Taylor (Closes: #686874). + * debian/control (Description): Added Metadynamics to capabilities. + + -- Michael Banck <mba...@debian.org> Fri, 07 Sep 2012 00:27:39 +0200 + cp2k (2.2.426-5) unstable; urgency=low [ Michael Banck ] diff -Nru cp2k-2.2.426/debian/control cp2k-2.2.426/debian/control --- cp2k-2.2.426/debian/control 2012-09-03 19:16:24.000000000 +0200 +++ cp2k-2.2.426/debian/control 2012-09-06 21:43:40.000000000 +0200 @@ -71,6 +71,8 @@ * Classical Molecular Dynamics (MD) simulations in microcanonical ensemble (NVE) or canonical ensmble (NVT) with Nose-Hover and canonical sampling through velocity rescaling (CSVR) thermostats + * Metadynamics including well-tempered Metadynamics for Free Energy + calculations * Classical Force-Field (MM) simulations * Monte-Carlo (MC) KS-DFT simulations * HFX module for linear-scaling MD simulations using hybrid functionals diff -Nru cp2k-2.2.426/debian/patches/fftw3_unaligned.patch cp2k-2.2.426/debian/patches/fftw3_unaligned.patch --- cp2k-2.2.426/debian/patches/fftw3_unaligned.patch 1970-01-01 01:00:00.000000000 +0100 +++ cp2k-2.2.426/debian/patches/fftw3_unaligned.patch 2012-09-06 23:18:44.000000000 +0200 @@ -0,0 +1,30 @@ +--- ./src/fft_lib/fftw3_lib.F.orig 2012-09-06 23:09:54.067428479 +0200 ++++ ./src/fft_lib/fftw3_lib.F 2012-09-06 23:18:17.691429179 +0200 +@@ -127,9 +127,13 @@ + STOP "fftw3_create_plan_3d" + END SELECT + ++#if defined ( __FFTW3_UNALIGNED ) ++ fftw_plan_type = fftw_plan_type + FFTW_UNALIGNED ++#else + IF ( .NOT. aligned ) THEN + fftw_plan_type = fftw_plan_type + FFTW_UNALIGNED + END IF ++#endif + + n1 = plan%n_3d(1) + n2 = plan%n_3d(2) +@@ -257,9 +261,13 @@ + STOP "fftw3_create_plan_1dm" + END SELECT + ++#if defined ( __FFTW3_UNALIGNED ) ++ fftw_plan_type = fftw_plan_type + FFTW_UNALIGNED ++#else + IF ( .NOT. aligned ) THEN + fftw_plan_type = fftw_plan_type + FFTW_UNALIGNED + END IF ++#endif + + num_threads = 1 + !$omp parallel default(none), & diff -Nru cp2k-2.2.426/debian/patches/makeflags.patch cp2k-2.2.426/debian/patches/makeflags.patch --- cp2k-2.2.426/debian/patches/makeflags.patch 2012-02-19 13:55:30.000000000 +0100 +++ cp2k-2.2.426/debian/patches/makeflags.patch 2012-09-06 23:36:31.000000000 +0200 @@ -13,7 +13,7 @@ + +AR = ar -r + -+DFLAGS = -D__GFORTRAN -D__FFTSG -D__FFTW3 -D__LIBINT ++DFLAGS = -D__GFORTRAN -D__FFTSG -D__FFTW3 $(FFTW3_ALIGN) -D__LIBINT +CPPFLAGS = -C -traditional $(DFLAGS) +FCFLAGS = -g -Wall -O2 -ffast-math -funroll-loops -ftree-vectorize -ffree-form -ffree-line-length-none $(DFLAGS) +LDFLAGS = $(FCFLAGS) @@ -35,7 +35,7 @@ + +AR = ar -r + -+DFLAGS = -D__GFORTRAN -D__FFTSG -D__FFTW3 -D__LIBINT -D__parallel -D__BLACS -D__SCALAPACK ++DFLAGS = -D__GFORTRAN -D__FFTSG -D__FFTW3 $(FFTW3_ALIGN) -D__LIBINT -D__parallel -D__BLACS -D__SCALAPACK +CPPFLAGS = -C -traditional $(DFLAGS) +FCFLAGS = -g -Wall -O2 -ffast-math -funroll-loops -ftree-vectorize -ffree-form -ffree-line-length-none $(DFLAGS) +LDFLAGS = $(FCFLAGS) diff -Nru cp2k-2.2.426/debian/patches/series cp2k-2.2.426/debian/patches/series --- cp2k-2.2.426/debian/patches/series 2012-03-24 17:59:41.000000000 +0100 +++ cp2k-2.2.426/debian/patches/series 2012-09-06 23:19:34.000000000 +0200 @@ -3,3 +3,4 @@ reset_cppflags_makdepf90.patch data_files_standard_location.patch testsuite_output.patch +fftw3_unaligned.patch diff -Nru cp2k-2.2.426/debian/rules cp2k-2.2.426/debian/rules --- cp2k-2.2.426/debian/rules 2012-09-03 18:41:44.000000000 +0200 +++ cp2k-2.2.426/debian/rules 2012-09-06 23:40:15.000000000 +0200 @@ -3,6 +3,14 @@ include /usr/share/mpi-default-dev/debian_defaults +DEB_BUILD_ARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH) + +ifeq ($(DEB_BUILD_ARCH), i386) + export FFTW3_ALIGN=-D__FFTW3_UNALIGNED +else + export FFTW3_ALIGN= +endif + export LIB_SCALAPACK=-lscalapack-$(ARCH_DEFAULT_MPI_IMPL) export LIB_BLACS=-lblacsCinit-$(ARCH_DEFAULT_MPI_IMPL) -lblacs-$(ARCH_DEFAULT_MPI_IMPL) export OMPI_MCA_plm_rsh_agent=/bin/false