[pyFFTW/pyFFTW] can not install in archlinux (manjaro) (PY3.9) (cython3)

I can not install via pip in manjaro :

> python -V   -> Python 3.9.7
> pip -V   -> pip 21.3.1
> uname -a -> Linux 5.15.2-2-MANJARO #1 SMP PREEMPT  x86_64 GNU/Linux
> cython -> Cython version 3.0.0a

 ERROR: Command errored out with exit status 1:
   command: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1ncfokx8/pyfftw_e6929d2d84934a12acde5629427f85a1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-1ncfokx8/pyfftw_e6929d2d84934a12acde5629427f85a1/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'rn'"'"', '"'"'n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ieflly8y
       cwd: /tmp/pip-install-1ncfokx8/pyfftw_e6929d2d84934a12acde5629427f85a1/
  Complete output (795 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/pyfftw
  copying pyfftw/config.py -> build/lib.linux-x86_64-3.9/pyfftw
  copying pyfftw/_version.py -> build/lib.linux-x86_64-3.9/pyfftw
  copying pyfftw/__init__.py -> build/lib.linux-x86_64-3.9/pyfftw
  creating build/lib.linux-x86_64-3.9/pyfftw/builders
  copying pyfftw/builders/builders.py -> build/lib.linux-x86_64-3.9/pyfftw/builders
  copying pyfftw/builders/_utils.py -> build/lib.linux-x86_64-3.9/pyfftw/builders
  copying pyfftw/builders/__init__.py -> build/lib.linux-x86_64-3.9/pyfftw/builders
  creating build/lib.linux-x86_64-3.9/pyfftw/interfaces
  copying pyfftw/interfaces/scipy_fftpack.py -> build/lib.linux-x86_64-3.9/pyfftw/interfaces
  copying pyfftw/interfaces/scipy_fft.py -> build/lib.linux-x86_64-3.9/pyfftw/interfaces
  copying pyfftw/interfaces/numpy_fft.py -> build/lib.linux-x86_64-3.9/pyfftw/interfaces
  copying pyfftw/interfaces/dask_fft.py -> build/lib.linux-x86_64-3.9/pyfftw/interfaces
  copying pyfftw/interfaces/cache.py -> build/lib.linux-x86_64-3.9/pyfftw/interfaces
  copying pyfftw/interfaces/_utils.py -> build/lib.linux-x86_64-3.9/pyfftw/interfaces
  copying pyfftw/interfaces/__init__.py -> build/lib.linux-x86_64-3.9/pyfftw/interfaces
  UPDATING build/lib.linux-x86_64-3.9/pyfftw/_version.py
  set build/lib.linux-x86_64-3.9/pyfftw/_version.py to '0.12.0'
  running build_ext
  cythoning pyfftw/pyfftw.pyx to pyfftw/pyfftw.c
  /usr/lib/python3.9/site-packages/Cython/Compiler/Main.py:346: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /tmp/pip-install-1ncfokx8/pyfftw_e6929d2d84934a12acde5629427f85a1/pyfftw/pyfftw.pxd
    tree = Parsing.p_module(s, pxd, full_module_name)
  
  Error compiling Cython file:
  ------------------------------------------------------------
  ...
  # the types supported in this build
  _supported_types = []
  _supported_nptypes_complex = []
  _supported_nptypes_real = []
  
  IF HAVE_SINGLE:
    ^
  ------------------------------------------------------------
  
  pyfftw/pyfftw.pyx:72:3: Compile-time name 'HAVE_SINGLE' not defined
  
  Error compiling Cython file:
  ------------------------------------------------------------
  ...
  
  IF HAVE_SINGLE:
      _supported_types.append('32')
      _supported_nptypes_complex.append(np.complex64)
      _supported_nptypes_real.append(np.float32)
  IF HAVE_DOUBLE:
    ^
  ------------------------------------------------------------
  
  pyfftw/pyfftw.pyx:76:3: Compile-time name 'HAVE_DOUBLE' not defined
  
  Error compiling Cython file:
  ------------------------------------------------------------
  ...
      _supported_nptypes_real.append(np.float32)
  IF HAVE_DOUBLE:
      _supported_types.append('64')
      _supported_nptypes_complex.append(np.complex128)
      _supported_nptypes_real.append(np.float64)
  IF HAVE_LONG:
    ^
  ------------------------------------------------------------
  
  pyfftw/pyfftw.pyx:80:3: Compile-time name 'HAVE_LONG' not defined
  
  Error compiling Cython file:
  ------------------------------------------------------------
  ...
  IF HAVE_LONG:
      _supported_types.append('ld')
      _supported_nptypes_complex.append(np.clongdouble)
      _supported_nptypes_real.append(np.longdouble)
  
  IF (HAVE_SINGLE_OMP or HAVE_DOUBLE_OMP or HAVE_LONG_OMP):
     ^
  ------------------------------------------------------------
  
  pyfftw/pyfftw.pyx:85:4: Compile-time name 'HAVE_SINGLE_OMP' not defined

Read more here: Source link