s2fft icon indicating copy to clipboard operation
s2fft copied to clipboard

Test workflow failing due to issues building `so3` test dependency

Open matt-graham opened this issue 5 months ago • 0 comments

Our tests workflow is currently failing on Ubuntu / Python 3.8 - see for example this run log. This is due to errors when building so3 a test dependency using Cython. While this is happening specifically on Ubuntu / Python 3.8 in our test matrix, but from some local testing I think it may also affect other Python versions but the workflows on GitHub Actions are using cached wheels from a previously successful build.

Cython build errors
 Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          return bool(so3_sampling_is_elmn_non_zero_return_int(el, m, n, &parameters))
      
      
      # forward and inverse for MW and MWSS for complex functions
      def inverse(np.ndarray[ double complex, ndim=1, mode="c"] flmn not None, so3_parameters not None):
                  ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:320:12: 'ndarray' is not a type identifier
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              f = np.zeros([f_length,], dtype=complex)
              so3_core_inverse_via_ssht(<double complex*> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
      
          return f
      
      def forward(np.ndarray[ double complex, ndim=1, mode="c"] f not None, so3_parameters not None):
                  ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:334:12: 'ndarray' is not a type identifier
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          )
      
          return SO3Parameters().from_dict(h_parameters)
      
      def convolve(
          np.ndarray[ double complex, ndim=1, mode="c"] f not None,
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:371:4: 'ndarray' is not a type identifier
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return SO3Parameters().from_dict(h_parameters)
      
      def convolve(
          np.ndarray[ double complex, ndim=1, mode="c"] f not None,
          f_parameters,
          np.ndarray[ double complex, ndim=1, mode="c"] g not None,
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:373:4: 'ndarray' is not a type identifier
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              &g_parameters_struct
          )
          return h, h_parameters
      
      def convolve_harmonic(
          np.ndarray[ double complex, ndim=1, mode="c"] flmn not None,
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:397:4: 'ndarray' is not a type identifier
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return h, h_parameters
      
      def convolve_harmonic(
          np.ndarray[ double complex, ndim=1, mode="c"] flmn not None,
          f_parameters,
          np.ndarray[ double complex, ndim=1, mode="c"] glmn not None,
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:399:4: 'ndarray' is not a type identifier
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          )
          return hlmn, h_parameters
      
      def s2toso3_harmonic_convolution(
          h_so3_parameters,
          np.ndarray[ double complex, ndim=1, mode="c"] flm not None,
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:425:4: 'ndarray' is not a type identifier
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          return hlmn, h_parameters
      
      def s2toso3_harmonic_convolution(
          h_so3_parameters,
          np.ndarray[ double complex, ndim=1, mode="c"] flm not None,
          np.ndarray[ double complex, ndim=1, mode="c"] glm not None):
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:426:4: 'ndarray' is not a type identifier
      warning: /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:194:39: Not all members given for struct 'so3_parameters_t'
      warning: /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:222:39: Not all members given for struct 'so3_parameters_t'
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef so3_parameters_t parameters=create_parameter_struct(so3_parameters)
      
          if so3_parameters.reality:
              f_length = f_size(so3_parameters)
              f = np.zeros([f_length,], dtype=float)
              so3_core_inverse_via_ssht_real(<double *> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
                                             ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:326:39: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef so3_parameters_t parameters=create_parameter_struct(so3_parameters)
      
          if so3_parameters.reality:
              f_length = f_size(so3_parameters)
              f = np.zeros([f_length,], dtype=float)
              so3_core_inverse_via_ssht_real(<double *> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
                                             ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:326:39: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef so3_parameters_t parameters=create_parameter_struct(so3_parameters)
      
          if so3_parameters.reality:
              f_length = f_size(so3_parameters)
              f = np.zeros([f_length,], dtype=float)
              so3_core_inverse_via_ssht_real(<double *> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
                                                                            ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:326:70: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef so3_parameters_t parameters=create_parameter_struct(so3_parameters)
      
          if so3_parameters.reality:
              f_length = f_size(so3_parameters)
              f = np.zeros([f_length,], dtype=float)
              so3_core_inverse_via_ssht_real(<double *> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
                                                                            ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:326:70: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              f = np.zeros([f_length,], dtype=float)
              so3_core_inverse_via_ssht_real(<double *> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
          else:
              f_length = f_size(so3_parameters)
              f = np.zeros([f_length,], dtype=complex)
              so3_core_inverse_via_ssht(<double complex*> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
                                        ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:330:34: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              f = np.zeros([f_length,], dtype=float)
              so3_core_inverse_via_ssht_real(<double *> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
          else:
              f_length = f_size(so3_parameters)
              f = np.zeros([f_length,], dtype=complex)
              so3_core_inverse_via_ssht(<double complex*> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
                                        ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:330:34: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              f = np.zeros([f_length,], dtype=float)
              so3_core_inverse_via_ssht_real(<double *> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
          else:
              f_length = f_size(so3_parameters)
              f = np.zeros([f_length,], dtype=complex)
              so3_core_inverse_via_ssht(<double complex*> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
                                                                              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:330:72: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              f = np.zeros([f_length,], dtype=float)
              so3_core_inverse_via_ssht_real(<double *> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
          else:
              f_length = f_size(so3_parameters)
              f = np.zeros([f_length,], dtype=complex)
              so3_core_inverse_via_ssht(<double complex*> np.PyArray_DATA(f), <const double complex*> np.PyArray_DATA(flmn), &parameters)
                                                                              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:330:72: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef so3_parameters_t parameters=create_parameter_struct(so3_parameters)
      
          if so3_parameters.reality:
              flmn_length = flmn_size(so3_parameters)
              flmn = np.zeros([flmn_length,], dtype=float)
              so3_core_forward_via_ssht_real(<double complex*> np.PyArray_DATA(flmn), <const double *> np.PyArray_DATA(f), &parameters)
                                             ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:340:39: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef so3_parameters_t parameters=create_parameter_struct(so3_parameters)
      
          if so3_parameters.reality:
              flmn_length = flmn_size(so3_parameters)
              flmn = np.zeros([flmn_length,], dtype=float)
              so3_core_forward_via_ssht_real(<double complex*> np.PyArray_DATA(flmn), <const double *> np.PyArray_DATA(f), &parameters)
                                             ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:340:39: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef so3_parameters_t parameters=create_parameter_struct(so3_parameters)
      
          if so3_parameters.reality:
              flmn_length = flmn_size(so3_parameters)
              flmn = np.zeros([flmn_length,], dtype=float)
              so3_core_forward_via_ssht_real(<double complex*> np.PyArray_DATA(flmn), <const double *> np.PyArray_DATA(f), &parameters)
                                                                                      ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:340:80: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef so3_parameters_t parameters=create_parameter_struct(so3_parameters)
      
          if so3_parameters.reality:
              flmn_length = flmn_size(so3_parameters)
              flmn = np.zeros([flmn_length,], dtype=float)
              so3_core_forward_via_ssht_real(<double complex*> np.PyArray_DATA(flmn), <const double *> np.PyArray_DATA(f), &parameters)
                                                                                      ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:340:80: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              flmn = np.zeros([flmn_length,], dtype=float)
              so3_core_forward_via_ssht_real(<double complex*> np.PyArray_DATA(flmn), <const double *> np.PyArray_DATA(f), &parameters)
          else:
              flmn_length = flmn_size(so3_parameters)
              flmn = np.zeros([flmn_length,], dtype=complex)
              so3_core_forward_via_ssht(<double complex*> np.PyArray_DATA(flmn), <const double complex*> np.PyArray_DATA(f), &parameters)
                                        ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:344:34: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              flmn = np.zeros([flmn_length,], dtype=float)
              so3_core_forward_via_ssht_real(<double complex*> np.PyArray_DATA(flmn), <const double *> np.PyArray_DATA(f), &parameters)
          else:
              flmn_length = flmn_size(so3_parameters)
              flmn = np.zeros([flmn_length,], dtype=complex)
              so3_core_forward_via_ssht(<double complex*> np.PyArray_DATA(flmn), <const double complex*> np.PyArray_DATA(f), &parameters)
                                        ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:344:34: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              flmn = np.zeros([flmn_length,], dtype=float)
              so3_core_forward_via_ssht_real(<double complex*> np.PyArray_DATA(flmn), <const double *> np.PyArray_DATA(f), &parameters)
          else:
              flmn_length = flmn_size(so3_parameters)
              flmn = np.zeros([flmn_length,], dtype=complex)
              so3_core_forward_via_ssht(<double complex*> np.PyArray_DATA(flmn), <const double complex*> np.PyArray_DATA(f), &parameters)
                                                                                 ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:344:75: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
              flmn = np.zeros([flmn_length,], dtype=float)
              so3_core_forward_via_ssht_real(<double complex*> np.PyArray_DATA(flmn), <const double *> np.PyArray_DATA(f), &parameters)
          else:
              flmn_length = flmn_size(so3_parameters)
              flmn = np.zeros([flmn_length,], dtype=complex)
              so3_core_forward_via_ssht(<double complex*> np.PyArray_DATA(flmn), <const double complex*> np.PyArray_DATA(f), &parameters)
                                                                                 ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:344:75: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          h_length = f_size(h_parameters)
          h = np.zeros([h_length,], dtype=complex)
      
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(h),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:387:8: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          h_length = f_size(h_parameters)
          h = np.zeros([h_length,], dtype=complex)
      
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(h),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:387:8: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          h = np.zeros([h_length,], dtype=complex)
      
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(h),
              &h_parameters_struct,
              <const double complex *> np.PyArray_DATA(f),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:389:8: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          h = np.zeros([h_length,], dtype=complex)
      
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(h),
              &h_parameters_struct,
              <const double complex *> np.PyArray_DATA(f),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:389:8: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(h),
              &h_parameters_struct,
              <const double complex *> np.PyArray_DATA(f),
              &f_parameters_struct,
              <const double complex *> np.PyArray_DATA(g),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:391:8: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(h),
              &h_parameters_struct,
              <const double complex *> np.PyArray_DATA(f),
              &f_parameters_struct,
              <const double complex *> np.PyArray_DATA(g),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:391:8: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          hlmn_length = flmn_size(h_parameters)
          hlmn = np.zeros([hlmn_length,], dtype=complex)
      
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(hlmn),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:414:8: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          hlmn_length = flmn_size(h_parameters)
          hlmn = np.zeros([hlmn_length,], dtype=complex)
      
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(hlmn),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:414:8: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          hlmn = np.zeros([hlmn_length,], dtype=complex)
      
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(hlmn),
              &h_parameters_struct,
              <const double complex *> np.PyArray_DATA(flmn),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:416:8: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          hlmn = np.zeros([hlmn_length,], dtype=complex)
      
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(hlmn),
              &h_parameters_struct,
              <const double complex *> np.PyArray_DATA(flmn),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:416:8: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(hlmn),
              &h_parameters_struct,
              <const double complex *> np.PyArray_DATA(flmn),
              &f_parameters_struct,
              <const double complex *> np.PyArray_DATA(glmn),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:418:8: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          so3_conv_convolution(
              <double complex *> np.PyArray_DATA(hlmn),
              &h_parameters_struct,
              <const double complex *> np.PyArray_DATA(flmn),
              &f_parameters_struct,
              <const double complex *> np.PyArray_DATA(glmn),
              ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:418:8: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          hlmn_length = flmn_size(h_so3_parameters)
          hlmn = np.zeros([hlmn_length,], dtype=complex)
      
          so3_conv_s2toso3_harmonic_convolution(
          <double complex *> np.PyArray_DATA(hlmn),
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:434:4: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          hlmn_length = flmn_size(h_so3_parameters)
          hlmn = np.zeros([hlmn_length,], dtype=complex)
      
          so3_conv_s2toso3_harmonic_convolution(
          <double complex *> np.PyArray_DATA(hlmn),
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:434:4: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          hlmn = np.zeros([hlmn_length,], dtype=complex)
      
          so3_conv_s2toso3_harmonic_convolution(
          <double complex *> np.PyArray_DATA(hlmn),
          &h_parameters,
          <const double complex *> np.PyArray_DATA(flm),
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:436:4: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          hlmn = np.zeros([hlmn_length,], dtype=complex)
      
          so3_conv_s2toso3_harmonic_convolution(
          <double complex *> np.PyArray_DATA(hlmn),
          &h_parameters,
          <const double complex *> np.PyArray_DATA(flm),
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:436:4: Python objects cannot be cast to pointers of primitive types
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          so3_conv_s2toso3_harmonic_convolution(
          <double complex *> np.PyArray_DATA(hlmn),
          &h_parameters,
          <const double complex *> np.PyArray_DATA(flm),
          <const double complex *> np.PyArray_DATA(glm)
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:437:4: Casting temporary Python object to non-numeric non-Python type
      
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      
          so3_conv_s2toso3_harmonic_convolution(
          <double complex *> np.PyArray_DATA(hlmn),
          &h_parameters,
          <const double complex *> np.PyArray_DATA(flm),
          <const double complex *> np.PyArray_DATA(glm)
          ^
      ------------------------------------------------------------
      
      /tmp/pip-install-yyye2cij/so3_98ef28d04fc946bc9525212bfc49c4cd/src/so3/bindings.pyx:437:4: Python objects cannot be cast to pointers of primitive types

astro-informatics/so3#31 may fix this upstream.

matt-graham avatar Jun 09 '25 09:06 matt-graham