Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pyFFTW import segfaults on armhf #141

Closed
itdaniher opened this issue Jan 22, 2017 · 5 comments
Closed

pyFFTW import segfaults on armhf #141

itdaniher opened this issue Jan 22, 2017 · 5 comments

Comments

@itdaniher
Copy link

Processor : ARMv7 Processor rev 5 (v7l)
Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt
gcc version 4.9.2 (Debian 4.9.2-10)
Python 3.6.0 (default, Dec 31 2016, 21:20:16)
Linux debian 3.4.113-sun8i #50 SMP PREEMPT Mon Nov 14 08:41:55 CET 2016 armv7l GNU/Linux

Using built-in specs.
COLLECT_GCC=gcc-4.9
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix

libfftw built from http://fftw.org/fftw-3.3.6-pl1.tar.gz the requisite three times, one of which with --enable-neon for simd-accelerated singlefp work.

./configure --enable-shared --enable-threads --enable-long-double
./configure --enable-shared --enable-threads --enable-neon --enable-single
./configure --enable-shared --enable-threads


I think this is an issue with libfftw and (presumably) my GCC version. I'm continuing to explore this - opening issue here as there's a nontrivial amount of discussion about pyfftw on armhf, #128, #127, #70

@itdaniher
Copy link
Author

itdaniher commented Jan 22, 2017

Odds are high that this is an issue merely with my toolchain... close the issue if this discussion is unwelcome.

FFTW's test fails:

./tests/bench --report-verbose -s irc32
[2] 20400 segmentation fault ./tests/bench --report-verbose -s irc32

@itdaniher
Copy link
Author

Issue's with FFTW!

FFTW/fftw3#30 (comment)

@hgomersall
Copy link
Collaborator

Oh sorry, I totally missed this issue! Interesting to know about the problem, so thanks.

@itdaniher
Copy link
Author

@hgomersall NP, hope it helps. PyFFTW is great, FFTW just sometimes feels like it's rooted firmly in the past. IE: A release claiming to officially support ARM+NEON that segfaults when compiled on multiple versions of widely-deployed GCC, unless you patch out a feature? sigh

Other issue I encountered here was just the under-documented "you must compile fftw by hand three times" which I've seen mentioned in several different places here on GH Issues.

@hgomersall
Copy link
Collaborator

@itdaniher Yes, I'm acutely aware of that issue. I've been very busy for quite a while. I would genuinely value assistance with any of the issues, but I've no doubt I will eventually reach them!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants