Closed QuLogic closed 6 years ago
I think the best way to fix this is to always build all options and let FastNoiseSIMD do feature detection. Unfortunately, I have yet to find a good example of someone passing per-file compilation options to a C extension.
I have a work-in-progress to attempt the above change. Unfortunately, 32-bit still fails for some reason. The other arches also fail due to problems in FastNoiseSIMD that I'll have to take upstream.
Oh, I did that with python-blosc
. You build build_clib
first and then package them into the extension.
See here:
https://github.com/Blosc/python-blosc/pull/129/files
Diff line 119 of setup.py
, I added separate flags to the Snappy codec.
Ohhh, thanks, that looks much simpler. Cursed by the lack of setuptools documentation again...
I added the latest version of cpuinfo.py
from the source in 36fcc785243cb0a9668408cf8794b2091de7a090, from the repo at:
https://github.com/workhorsy/py-cpuinfo
That might help with returning flags correctly, but it kind of sounds like the problem is in the no SIMD branch of the macros.
On 32-bit systems, the build completes, but attempting to run the tests fails due to a missing symbol. https://kojipkgs.fedoraproject.org//work/tasks/5861/23965861/build.log
L0 is the No-SIMD fallback, so I think this is a problem with the arch detection.
On all other arches, the build does not complete at all due to a problem in cpu detection: