Package: libfftw3-dev Version: 3.1.2-3.1 Severity: important FFTW3 has a mis-design feature where if complex.h is included before fftw3.h (maybe indirectly and unintentionally through another header) then the header changes the definition of the "fftw_complex" types (without doing any mangling to give them different names). This means if a user doesn't include fftw3.h first, before any possible inclusion of complex.h, then his code may be using a different ABI than that of the libfftw3.so provided by debian. Or, indeed, different translation units of the user's program may be using different definitions of fftw_complex depending on exactly when each translation unit included fftw3.h. This will at the very least cause violations of the C strict aliasing rules which can cause mysterious crashes when optimization is turned on (unless gcc's -fno-strict-aliasing option is used). I have personally seen these crashes, and the problems can also be visible when using valgrind (I saw it cause various uninitialized memory problems in my program which valgrind reported).
As a workaround, Debian should alter the fftw3.h header so it does not define fftw_complex based on header inclusion order, but always defines fftw_complex in the same way it is defined when Debian compiles libfftw3.so. -- System Information: Debian Release: 5.0.1 APT prefers stable APT policy: (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.26-2-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libfftw3-dev depends on: ii libc6 2.7-18 GNU C Library: Shared libraries ii libfftw3-3 3.1.2-3.1 library for computing Fast Fourier libfftw3-dev recommends no packages. libfftw3-dev suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org