gagolews / genieclust

Genie: Fast and Robust Hierarchical Clustering with Noise Point Detection - in Python and R
https://genieclust.gagolewski.com
Other
58 stars 10 forks source link

python arm #79

Open leonardlin opened 1 year ago

leonardlin commented 1 year ago

Are there any tips for install the python version on arm?

I'm getting compilation errors and warnings

        17 | #warning "Using deprecated NumPy API, disable it with " \
            |  ^~~~~~~
      In file included from genieclust/cluster_validity.cpp:769:
      genieclust/../src/c_cvi.h:30:10: fatal error: cvi.h: No such file or directory
         30 | #include "cvi.h"
            |          ^~~~~~~
      compilation terminated.
      error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1

The numpy warning is weird too, as I have the latest numpy installed.

gagolews commented 1 year ago

First, the "deprecated NumPy API" warning is to be ignored, the code generated by Cython uses it.

Second, I will try to build wheels on ARM. Are you on macOS?

leonardlin commented 1 year ago

Thanks so much for looking into it.

I'm on Linux, aws graviton processor. T4g instance if that helps.

I think it's arm V8, 64bit

gagolews commented 1 year ago

I filed a fix, hopefully a correct one.

Can you try installing again?

If this still doesn't work, could you please provide me with the full logs generated during install?

leonardlin commented 1 year ago

@gagolews thanks for the quick update.

A) pipenv install genieclust==1.1.4 this failed

B) python setup.py build I cloned the github and ran it directly this worked

I attach both outputs below

A) Output from pip install

Installing genieclust==1.1.4...
Resolving genieclust==1.1.4...
Installing...
Error:  An error occurred while installing genieclust==1.1.4!
Error text: Collecting genieclust==1.1.4
  Using cached genieclust-1.1.4.tar.gz (90 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Requirement already satisfied: numpy in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(1.24.2)
Requirement already satisfied: scipy in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(1.10.0)
Requirement already satisfied: cython in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(0.29.33)
Requirement already satisfied: matplotlib in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(3.7.1)
Requirement already satisfied: scikit-learn in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(1.1.1)
Requirement already satisfied: contourpy>=1.0.1 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(1.0.7)
Requirement already satisfied: python-dateutil>=2.7 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(2.8.2)
Requirement already satisfied: importlib-resources>=3.2.0 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(5.12.0)
Requirement already satisfied: fonttools>=4.22.0 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(4.39.2)
Requirement already satisfied: pillow>=6.2.0 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(9.4.0)
Requirement already satisfied: kiwisolver>=1.0.1 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(1.4.4)
Requirement already satisfied: cycler>=0.10 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(0.11.0)
Requirement already satisfied: packaging>=20.0 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(23.0)
Requirement already satisfied: pyparsing>=2.3.1 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(3.0.9)
Requirement already satisfied: threadpoolctl>=2.0.0 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from scikit-learn->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(3.1.0)
Requirement already satisfied: joblib>=1.0.0 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from scikit-learn->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(1.2.0)
Requirement already satisfied: zipp>=3.1.0 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from 
importlib-resources>=3.2.0->matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(3.15.0)
Requirement already satisfied: six>=1.5 in 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages (from python-dateutil>=2.7->matplotlib->genieclust==1.1.4->-r 
/tmp/pipenv-ez1h9tly-requirements/pipenv-ikacc02k-requirement.txt (line 1)) 
(1.16.0)
Building wheels for collected packages: genieclust
  Building wheel for genieclust (setup.py): started
  Building wheel for genieclust (setup.py): finished with status 'error'
  Running setup.py clean for genieclust
Failed to build genieclust
Installing collected packages: genieclust
  Running setup.py install for genieclust: started
  Running setup.py install for genieclust: finished with status 'error'

  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [80 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-38
      creating build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/__init__.py -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/genie.py -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/plots.py -> 
build/lib.linux-aarch64-cpython-38/genieclust
      running egg_info
      creating genieclust.egg-info
      writing genieclust.egg-info/PKG-INFO
      writing dependency_links to genieclust.egg-info/dependency_links.txt
      writing requirements to genieclust.egg-info/requires.txt
      writing top-level names to genieclust.egg-info/top_level.txt
      writing manifest file 'genieclust.egg-info/SOURCES.txt'
      reading manifest file 'genieclust.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'genieclust.egg-info/SOURCES.txt'
      copying genieclust/c_argfuns.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_compare_partitions.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_cvi.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_disjoint_sets.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_genie.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_gini_disjoint_sets.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_inequity.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_mst.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_postprocess.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_preprocess.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/cluster_validity.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/compare_partitions.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/inequity.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/internal.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/tools.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      warning: build_py: byte-compiling is disabled, skipping.

      running build_ext
      cythoning genieclust/internal.pyx to genieclust/internal.cpp
      cythoning genieclust/compare_partitions.pyx to 
genieclust/compare_partitions.cpp
      cythoning genieclust/cluster_validity.pyx to 
genieclust/cluster_validity.cpp
      cythoning genieclust/inequity.pyx to genieclust/inequity.cpp
      cythoning genieclust/tools.pyx to genieclust/tools.cpp
      building 'genieclust.internal' extension
      creating build/temp.linux-aarch64-cpython-38
      creating build/temp.linux-aarch64-cpython-38/genieclust
      aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG 
-g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat 
-Werror=format-security -g -fwrapv -O2 -fPIC 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/pytho
n3.8/site-packages/numpy/core/include -Isrc/ -I../src/ 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/include 
-I/usr/include/python3.8 -c genieclust/internal.cpp -o 
build/temp.linux-aarch64-cpython-38/genieclust/internal.o -fopenmp -std=c++11
      In file included from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                       from genieclust/internal.cpp:760:
      /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/p
ython3.8/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 " \
            |  ^~~~~~~
      aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions 
-Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 
build/temp.linux-aarch64-cpython-38/genieclust/internal.o -L/usr/lib -o 
build/lib.linux-aarch64-cpython-38/genieclust/internal.cpython-38-aarch64-linux-
gnu.so -fopenmp
      building 'genieclust.compare_partitions' extension
      aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG 
-g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat 
-Werror=format-security -g -fwrapv -O2 -fPIC 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/pytho
n3.8/site-packages/numpy/core/include -Isrc/ -I../src/ 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/include 
-I/usr/include/python3.8 -c genieclust/compare_partitions.cpp -o 
build/temp.linux-aarch64-cpython-38/genieclust/compare_partitions.o -fopenmp 
-std=c++11
      In file included from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                       from genieclust/compare_partitions.cpp:760:
      /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/p
ython3.8/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 " \
            |  ^~~~~~~
      aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions 
-Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 
build/temp.linux-aarch64-cpython-38/genieclust/compare_partitions.o -L/usr/lib 
-o 
build/lib.linux-aarch64-cpython-38/genieclust/compare_partitions.cpython-38-aarc
h64-linux-gnu.so -fopenmp
      building 'genieclust.cluster_validity' extension
      aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG 
-g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat 
-Werror=format-security -g -fwrapv -O2 -fPIC 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/pytho
n3.8/site-packages/numpy/core/include -Isrc/ -I../src/ 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/include 
-I/usr/include/python3.8 -c genieclust/cluster_validity.cpp -o 
build/temp.linux-aarch64-cpython-38/genieclust/cluster_validity.o -fopenmp 
-std=c++11
      In file included from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                       from genieclust/cluster_validity.cpp:760:
      /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/p
ython3.8/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 genieclust/cluster_validity.cpp:769:
      genieclust/../src/c_cvi.h:30:10: fatal error: cvi.h: No such file or 
directory
         30 | #include "cvi.h"
            |          ^~~~~~~
      compilation terminated.
      error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1

  note: This error originates from a subprocess, and is likely not a problem 
with pip.
  ERROR: Failed building wheel for genieclust
  error: subprocess-exited-with-error

  × Running setup.py install for genieclust did not run successfully.
  │ exit code: 1
  ╰─> [80 lines of output]
      running install
      /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/p
ython3.8/site-packages/setuptools/command/install.py:34: 
SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip 
and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-38
      creating build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/__init__.py -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/genie.py -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/plots.py -> 
build/lib.linux-aarch64-cpython-38/genieclust
      running egg_info
      writing genieclust.egg-info/PKG-INFO
      writing dependency_links to genieclust.egg-info/dependency_links.txt
      writing requirements to genieclust.egg-info/requires.txt
      writing top-level names to genieclust.egg-info/top_level.txt
      reading manifest file 'genieclust.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'genieclust.egg-info/SOURCES.txt'
      copying genieclust/c_argfuns.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_compare_partitions.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_cvi.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_disjoint_sets.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_genie.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_gini_disjoint_sets.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_inequity.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_mst.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_postprocess.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/c_preprocess.pxd -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/cluster_validity.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/compare_partitions.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/inequity.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/internal.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      copying genieclust/tools.pyx -> 
build/lib.linux-aarch64-cpython-38/genieclust
      warning: build_py: byte-compiling is disabled, skipping.

      running build_ext
      skipping 'genieclust/internal.cpp' Cython extension (up-to-date)
      skipping 'genieclust/compare_partitions.cpp' Cython extension (up-to-date)
      skipping 'genieclust/cluster_validity.cpp' Cython extension (up-to-date)
      skipping 'genieclust/inequity.cpp' Cython extension (up-to-date)
      skipping 'genieclust/tools.cpp' Cython extension (up-to-date)
      building 'genieclust.internal' extension
      creating build/temp.linux-aarch64-cpython-38
      creating build/temp.linux-aarch64-cpython-38/genieclust
      aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG 
-g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat 
-Werror=format-security -g -fwrapv -O2 -fPIC 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/pytho
n3.8/site-packages/numpy/core/include -Isrc/ -I../src/ 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/include 
-I/usr/include/python3.8 -c genieclust/internal.cpp -o 
build/temp.linux-aarch64-cpython-38/genieclust/internal.o -fopenmp -std=c++11
      In file included from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                       from genieclust/internal.cpp:760:
      /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/p
ython3.8/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 " \
            |  ^~~~~~~
      aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions 
-Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 
build/temp.linux-aarch64-cpython-38/genieclust/internal.o -L/usr/lib -o 
build/lib.linux-aarch64-cpython-38/genieclust/internal.cpython-38-aarch64-linux-
gnu.so -fopenmp
      building 'genieclust.compare_partitions' extension
      aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG 
-g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat 
-Werror=format-security -g -fwrapv -O2 -fPIC 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/pytho
n3.8/site-packages/numpy/core/include -Isrc/ -I../src/ 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/include 
-I/usr/include/python3.8 -c genieclust/compare_partitions.cpp -o 
build/temp.linux-aarch64-cpython-38/genieclust/compare_partitions.o -fopenmp 
-std=c++11
      In file included from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                       from genieclust/compare_partitions.cpp:760:
      /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/p
ython3.8/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 " \
            |  ^~~~~~~
      aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions 
-Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 
build/temp.linux-aarch64-cpython-38/genieclust/compare_partitions.o -L/usr/lib 
-o 
build/lib.linux-aarch64-cpython-38/genieclust/compare_partitions.cpython-38-aarc
h64-linux-gnu.so -fopenmp
      building 'genieclust.cluster_validity' extension
      aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG 
-g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat 
-Werror=format-security -g -fwrapv -O2 -fPIC 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/pytho
n3.8/site-packages/numpy/core/include -Isrc/ -I../src/ 
-I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/include 
-I/usr/include/python3.8 -c genieclust/cluster_validity.cpp -o 
build/temp.linux-aarch64-cpython-38/genieclust/cluster_validity.o -fopenmp 
-std=c++11
      In file included from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                       from 
/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3
.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                       from genieclust/cluster_validity.cpp:760:
      /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/p
ython3.8/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 genieclust/cluster_validity.cpp:769:
      genieclust/../src/c_cvi.h:30:10: fatal error: cvi.h: No such file or 
directory
         30 | #include "cvi.h"
            |          ^~~~~~~
      compilation terminated.
      error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1

  note: This error originates from a subprocess, and is likely not a problem 
with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> genieclust

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

✘ Installation Failed

B) output setup.py build

running build
running build_py
running egg_info
writing genieclust.egg-info/PKG-INFO
writing dependency_links to genieclust.egg-info/dependency_links.txt
writing requirements to genieclust.egg-info/requires.txt
writing top-level names to genieclust.egg-info/top_level.txt
reading manifest file 'genieclust.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'genieclust.egg-info/SOURCES.txt'
warning: build_py: byte-compiling is disabled, skipping.

running build_ext
skipping 'genieclust/internal.cpp' Cython extension (up-to-date)
skipping 'genieclust/compare_partitions.cpp' Cython extension (up-to-date)
skipping 'genieclust/cluster_validity.cpp' Cython extension (up-to-date)
skipping 'genieclust/inequity.cpp' Cython extension (up-to-date)
skipping 'genieclust/tools.cpp' Cython extension (up-to-date)
running build
running build_py
creating build
creating build/lib.linux-aarch64-cpython-38
creating build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/__init__.py -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/genie.py -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/plots.py -> build/lib.linux-aarch64-cpython-38/genieclust
running egg_info
writing genieclust.egg-info/PKG-INFO
writing dependency_links to genieclust.egg-info/dependency_links.txt
writing requirements to genieclust.egg-info/requires.txt
writing top-level names to genieclust.egg-info/top_level.txt
reading manifest file 'genieclust.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'genieclust.egg-info/SOURCES.txt'
copying genieclust/c_argfuns.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_compare_partitions.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_cvi.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_disjoint_sets.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_genie.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_gini_disjoint_sets.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_inequity.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_mst.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_postprocess.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/c_preprocess.pxd -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/cluster_validity.pyx -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/compare_partitions.pyx -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/inequity.pyx -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/internal.pyx -> build/lib.linux-aarch64-cpython-38/genieclust
copying genieclust/tools.pyx -> build/lib.linux-aarch64-cpython-38/genieclust
warning: build_py: byte-compiling is disabled, skipping.

running build_ext
skipping 'genieclust/internal.cpp' Cython extension (up-to-date)
skipping 'genieclust/compare_partitions.cpp' Cython extension (up-to-date)
skipping 'genieclust/cluster_validity.cpp' Cython extension (up-to-date)
skipping 'genieclust/inequity.cpp' Cython extension (up-to-date)
skipping 'genieclust/tools.cpp' Cython extension (up-to-date)
building 'genieclust.internal' extension
creating build/temp.linux-aarch64-cpython-38
creating build/temp.linux-aarch64-cpython-38/genieclust
aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include -Isrc/ -I../src/ -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/include -I/usr/include/python3.8 -c genieclust/internal.cpp -o build/temp.linux-aarch64-cpython-38/genieclust/internal.o -fopenmp -std=c++11
In file included from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                 from genieclust/internal.cpp:760:
/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/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 " \
      |  ^~~~~~~
aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-aarch64-cpython-38/genieclust/internal.o -L/usr/lib -o build/lib.linux-aarch64-cpython-38/genieclust/internal.cpython-38-aarch64-linux-gnu.so -fopenmp
building 'genieclust.compare_partitions' extension
aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include -Isrc/ -I../src/ -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/include -I/usr/include/python3.8 -c genieclust/compare_partitions.cpp -o build/temp.linux-aarch64-cpython-38/genieclust/compare_partitions.o -fopenmp -std=c++11
In file included from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                 from genieclust/compare_partitions.cpp:760:
/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/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 " \
      |  ^~~~~~~
aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-aarch64-cpython-38/genieclust/compare_partitions.o -L/usr/lib -o build/lib.linux-aarch64-cpython-38/genieclust/compare_partitions.cpython-38-aarch64-linux-gnu.so -fopenmp
building 'genieclust.cluster_validity' extension
aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include -Isrc/ -I../src/ -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/include -I/usr/include/python3.8 -c genieclust/cluster_validity.cpp -o build/temp.linux-aarch64-cpython-38/genieclust/cluster_validity.o -fopenmp -std=c++11
In file included from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                 from genieclust/cluster_validity.cpp:760:
/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/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 " \
      |  ^~~~~~~
genieclust/cluster_validity.cpp: In function ‘Py_ssize_t __pyx_f_10genieclust_16cluster_validity__get_K(PyArrayObject*, size_t, size_t)’:
genieclust/cluster_validity.cpp:1966:27: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘npy_intp’ {aka ‘long int’} [-Wsign-compare]
 1966 |   __pyx_t_1 = ((__pyx_v_n != (__pyx_v__y->dimensions[0])) != 0);
      |                 ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-aarch64-cpython-38/genieclust/cluster_validity.o -L/usr/lib -o build/lib.linux-aarch64-cpython-38/genieclust/cluster_validity.cpython-38-aarch64-linux-gnu.so -fopenmp
building 'genieclust.inequity' extension
aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include -Isrc/ -I../src/ -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/include -I/usr/include/python3.8 -c genieclust/inequity.cpp -o build/temp.linux-aarch64-cpython-38/genieclust/inequity.o -fopenmp -std=c++11
In file included from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                 from genieclust/inequity.cpp:760:
/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/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 " \
      |  ^~~~~~~
aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-aarch64-cpython-38/genieclust/inequity.o -L/usr/lib -o build/lib.linux-aarch64-cpython-38/genieclust/inequity.cpython-38-aarch64-linux-gnu.so -fopenmp
building 'genieclust.tools' extension
aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include -Isrc/ -I../src/ -I/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/include -I/usr/include/python3.8 -c genieclust/tools.cpp -o build/temp.linux-aarch64-cpython-38/genieclust/tools.o -fopenmp -std=c++11
In file included from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                 from /home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:5,
                 from genieclust/tools.cpp:760:
/home/leonard/.local/share/virtualenvs/genieclust-N_K13Wlj/lib/python3.8/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 " \
      |  ^~~~~~~
aarch64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-aarch64-cpython-38/genieclust/tools.o -L/usr/lib -o build/lib.linux-aarch64-cpython-38/genieclust/tools.cpython-38-aarch64-linux-gnu.so -fopenmp
gagolews commented 1 year ago

@gagolews thanks for the quick update.

B) python setup.py build I cloned the github and ran it directly this worked

This is good :)

A) pipenv install genieclust==1.1.4 this failed

This is not so good :(

  building 'genieclust.cluster_validity' extension
  aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG 

-g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/pytho n3.8/site-packages/numpy/core/include -Isrc/ -I../src/ -I/home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/include -I/usr/include/python3.8 -c genieclust/cluster_validity.cpp -o build/temp.linux-aarch64-cpython-38/genieclust/cluster_validity.o -fopenmp -std=c++11 In file included from /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3 .8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1940, from /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3 .8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12, from /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/python3 .8/site-packages/numpy/core/include/numpy/arrayobject.h:5, from genieclust/cluster_validity.cpp:760: /home/leonard/.local/share/virtualenvs/sentiment-similarity--oY-hz3k/lib/p ython3.8/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 genieclust/cluster_validity.cpp:769: genieclust/../src/c_cvi.h:30:10: fatal error: cvi.h: No such file or directory 30 | #include "cvi.h" | ^~~ compilation terminated. error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1

Weird, I have added -Isrc/ to the search path...