Skip to content

Build Failure on arch linux [error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’] #662

@kbipinkumar

Description

@kbipinkumar

While attempting to build hdbscan version 0.8.40 under archlinux i am encountering build failure

the build script looks like this

build() {
    cd "${srcdir}"/${_name}-${pkgver}
    python -m build --wheel --no-isolation
}

package() {
    cd "${srcdir}/${_name}-${pkgver}"
    python -m installer --destdir="$pkgdir" dist/*.whl
}

the error out put looks like this

running build_ext
building 'hdbscan._hdbscan_tree' extension
creating build/temp.linux-x86_64-cpython-312/hdbscan
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -g -ffile-prefix-map=/build/python/src=/usr/src/debug/python -flto=auto -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto -fPIC -I/usr/include/python3.12 -I/usr/lib/python3.12/site-packages/numpy/_core/include -c hdbscan/_hdbscan_tree.c -o build/temp.linux-x86_64-cpython-312/hdbscan/_hdbscan_tree.o
<command-line>: warning: "_FORTIFY_SOURCE" redefined
<command-line>: note: this is the location of the previous definition
In file included from /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarraytypes.h:1909,
                 from /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:12,
                 from /usr/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
                 from hdbscan/_hdbscan_tree.c:1240:
/usr/lib/python3.12/site-packages/numpy/_core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
   17 | #warning "Using deprecated NumPy API, disable it with " \
      |  ^~~~~~~
In file included from /usr/include/python3.12/Python.h:38,
                 from hdbscan/_hdbscan_tree.c:29:
hdbscan/_hdbscan_tree.c: In function ‘__pyx_f_5numpy_PyDataType_SHAPE’:
hdbscan/_hdbscan_tree.c:19925:39: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’
19925 |     __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
      |                                       ^~
/usr/include/python3.12/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
   24 | #define _Py_CAST(type, expr) ((type)(expr))
      |                                      ^~~~
/usr/include/python3.12/object.h:661:35: note: in expansion of macro ‘_PyObject_CAST’
  661 | #  define Py_INCREF(op) Py_INCREF(_PyObject_CAST(op))
      |                                   ^~~~~~~~~~~~~~
hdbscan/_hdbscan_tree.c:2184:27: note: in expansion of macro ‘Py_INCREF’
 2184 |   #define __Pyx_INCREF(r) Py_INCREF(r)
      |                           ^~~~~~~~~
hdbscan/_hdbscan_tree.c:19925:5: note: in expansion of macro ‘__Pyx_INCREF’
19925 |     __Pyx_INCREF(((PyObject*)__pyx_v_d->subarray->shape));
      |     ^~~~~~~~~~~~
hdbscan/_hdbscan_tree.c:19926:36: error: ‘PyArray_Descr’ {aka ‘struct _PyArray_Descr’} has no member named ‘subarray’
19926 |     __pyx_r = ((PyObject*)__pyx_v_d->subarray->shape);
      |                                    ^~
error: command '/usr/bin/gcc' failed with exit code 1

detailed build log is here

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions